1. 程式人生 > >【python】reduce函式

【python】reduce函式

reduce內建函式是一個二元操作函式,他用來將一個數據集合(連結串列,元組等)中的所有資料進行下列操作:用傳給reduce中的函式 func()(必須是一個二元操作函式)先對集合中的第1,2個數據進行操作,得到的結果再與第三個資料用func()函式運算,最後得到一個結果。
#coding=utf-8
lst = [1,2,3,4,5]
print reduce(lambda x,y:x+y,lst)
#這種方式用lambda表示當做引數,因為沒有提供reduce的第三個引數,所以第一次執行時x=1,y=2,第二次x=1+2,y=3,即列表的第三個元素
#或者
lst = [1,2,3,4,5]
print reduce(lambda x,y:x+y,lst,0) #0表示給x初始化值
#這種方式用lambda表示當做引數,因為指定了reduce的第三個引數為0,所以第一次執行時x=0,y=1,第二次x=0+1,y=2,即列表的第二個元素, 假定指定reduce的第三個引數為100,那麼第一次執行x=100,y仍然是遍歷列表的元素,最後得到的結果為115