1. 程式人生 > 程式設計 >python函式map()和partial()的知識點總結

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

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,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,5])  # 計算列表各個元素的平方
[1,9,16,25]
>>> map(lambda x: x ** 2,5]) # 使用 lambda 匿名函式
[1,25]
 
# 提供了兩個列表,對相同位置的列表資料進行相加
>>> map(lambda x,y: x + y,5,7,9],[2,6,8,10])
[3,11,15,19]

到此這篇關於python函式map()和partial()的知識點總結的文章就介紹到這了,更多相關python的函式map()和partial()內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!