python3中reduce被放到了functools模块,所以用之前需要导入
from functools import reduce
作用:reduce第一个参数是一个带两个入参的函数对象,第二个参数是序列,将序列的各个元素进行累积加工---具体看示例
适用:somewhere you want
示例:
>>> j = [5, 6, 7, 8]
>>> from functools import reduce
>>> reduce((lambda x, y:x+y),j)
26
>>> def func1(x, y):
... return x*y
...
>>> i = [1, 2, 3, 4, 5, 6]
>>>
>>> reduce(func1, i)
720
求1到100的和
>>> def func1(x, y):
... return x+y
...
>>> reduce(func1, range(1, 101))
5050
注:
将序列的头两个元素 j[0]、j[1] 计算的值作为下一次计算值的第一个参数,在与序列第三个元素 j[2] 进行计算,以此类推