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