1. 程式人生 > >Python進階10 reduce函式

Python進階10 reduce函式

from functools import reduce

sum = reduce((lambda x, y: x + y), [1, 2, 5, 7, 9])
print(sum)
'''reduce的第一個引數是lambda函式,它接收兩個引數x,y, 返回x+y。
reduce將表中的前兩個元素(1和2)傳遞給lambda函式,得到3。該返回值(3)將作為lambda函式的第一個引數,
而表中的下一個元素(5)作為lambda函式的第二個引數,進行下一次的對lambda函式的呼叫,得到8。
依次呼叫lambda函式,每次lambda函式的第一個引數是上一次運算結果,而第二個引數為表中的下一個元素,直到表中沒有剩餘元素。
上面例子,相當於(((1+2)+5)+7)+9
'''