歡迎您光臨本站 註冊首頁

python函數map()和partial()的知識點總結

←手機掃碼閱讀     zmcjlove @ 2020-05-30 , reply:0

map()是python的一個內建函數, 他能夠通過函數來處理序列,比如,我們相關一個數組[0,1,2,3,4,5]所有的數字都+2 , 當然,我們可以這麼做

 old = [0,1,2,3,4,5] new = [] for item in old: new.append(item+2) print new


有點小題大做的感覺,map就是解決這個問題的

 old = [0,1,2,3,4,5] new = map((lambda x:x+2),old) print new


map 可以把這個某個函數應用到序列中的每個值,然後直接返回一個處理後的結果,例如:

 [x**2 for x in range(6)] [x+2 for x in range(6)]


partial()函數是另外一個python的內建函數 ,這個的內建函數其實是非常好用的,比如我們常用的函數add(), 我們可以把某個數+100 ,也可以把某個數字+1

 add(1,x) , add(100,x)


而這個partial函數讓我們可以這麼來使用

 add1(x) ,add100(x)


這樣,從函數名稱我們就知道加了多少了(這個add函數就是個例子哈,平時真沒必要)

 add1 = partial(add,1) add100 = partial(add,100)


這個時候

 add1(x) = add(1,x) add100(x) = add(100,x)


內容擴展:

map() 函數語法:

map(function, iterable, ...)

 >>>def square(x) : # 計算平方數 ... return x ** 2 ... >>> map(square, [1,2,3,4,5]) # 計算列表各個元素的平方 [1, 4, 9, 16, 25] >>> map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # 使用 lambda 匿名函數 [1, 4, 9, 16, 25] # 提供了兩個列表,對相同位置的列表數據進行相加 >>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10]) [3, 7, 11, 15, 19]

[zmcjlove ] python函數map()和partial()的知識點總結已經有231次圍觀

http://coctec.com/docs/python/shhow-post-236276.html