python中的reduce函式

2022-03-11 00:52:34 字數 1029 閱讀 6190

在python3中,內建函式中已經沒有reduce了。要使用reduce,需要從functools模組裡引入

可以看到,reduce有三個引數,第乙個是函式function,第二個是序列sequence,第三個是initial,為初始值,預設為none

對序列中的元素進行累積

返回函式的計算結果

from functools import reduce

from functools import reduce

def add(x, y):

return x + y

print(reduce(add, [1, 2, 3, 4, 5])) #計算過程 ((((1 + 2) + 3) + 4) + 5)

# 執行結果

15

在reduce中使用lambda函式

from functools import reduce

print(reduce(lambda x, y: x + y, [1, 2, 3, 4, 5]))

# 執行結果

15

有初始值的情況,初始值為6

from functools import reduce

print(reduce(lambda x, y: x + y, [1, 2, 3, 4, 5], 6))

# 執行結果

21#計算過程

6 + 1 = 7

7 + 2 = 9

9 + 3 = 12

12 + 4 = 16

16+ 5 = 21

《python reduce() 函式》

《python筆記|python3中沒有reduce函式的原因》

《python3中reduce函式的使用》

python 的map和reduce(高階函式)

map 函式接受兩個引數,乙個是函式 f 乙個是可迭代物件iterable map將傳入的函式依次作用到序列的每個元素,並把結果作為新的迭代器iterator 返回 例如 def f x return x x r map f,1,2,3,4,5 r 是乙個迭代器 list r 將r變成list 注意...

python中的reduce介紹

python中的reduce內建函式是乙個二元操作函式,他用來將乙個資料集合 鍊錶,元組等 中的所有資料進行下列操作 用傳給reduce中的函式 func 必須是乙個二元操作函式 先對集合中的第1,2個資料進行操作,得到的結果再與第三個資料用func 函式運算,最後得到乙個結果。如 def myad...

python中的reduce函式

python中的reduce python中的reduce內建函式是乙個二元操作函式,他用來將乙個資料集合 鍊錶,元組等 中的所有資料進行下列操作 用傳給reduce中的函式 func 必須是乙個二元操作函式 先對集合中的第1,2個資料進行操作,得到的結果再與第三個資料用func 函式運算,最後得到...