這篇文章帶給大家的內容是關於python中map函數和reduce函數的使用方法介紹(附程式碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
Python中的map()函數接收兩個參數,一個是呼叫函數物件(python中處處皆對象,函數未實例前也可以當物件一樣調用),另一個是呼叫函數所需的參數,回傳值是迭代計算出的結果所組成的列表。
def func(x): return x*x r=map(func,[1,2,3,4,5,6,7,8,9]) l=list(r) print(l)
顯示結果:
[1, 4, 9, 16, 25, 36, 49, 64, 81]
reduce函數同樣需要兩個參數,一個是調用函數對象,另一個數調用函數所需的參數,其返回值是將計算結果繼續和下一個元素做累積。
from functools import reduce def add(x,y): print('x is:',x,'y is:',y) return x+y ret=reduce(add,[1,3,5,7,9]) print(ret)
顯示結果:
#x is: 1 y is: 3 x is: 4 y is: 5 x is: 9 y is: 7 x is: 16 y is: 9 25
或許可能會問,python的內建函數sum()就可以得到想要的結果,為什麼要有reduce呢。看如下案例,我們想要將[1,3,5,7,9]回傳成13579
#from functools import reduce def add(x,y): print('x is:',x,'y is:',y) return x*10+y ret=reduce(add,[1,3,5,7,9]) print(ret)##顯示結果:
x is: 1 y is: 3 x is: 13 y is: 5 x is: 135 y is: 7 x is: 1357 y is: 9 13579
以上是python中map函數和reduce函數的使用方法介紹(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!