猛禽的编程艺术 2020-05-08
语法
在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