ruduce函数
reduce(function, sequence[, initial]) -> value 其中包含三个参数,第一个是传入的函数,第二个是是一个可迭代类型的参数,第三个是初始值
情况一:不传入第三个参数,即不传入初始值,默认会以 可迭代类型的参数的 第一个参数作为初始值。
比如下面的操作:
我们这里选取下面的代码讲解:
from functools import reduce
print(reduce(lambda x,y:x-y,range(-5,-1)))
这里我们不传入初始值的时候,结果是 4,为什么呢,它底层的执行步骤是这样的
初始值是可迭代类型第一个值,即 -5
第一步:-5-(-4)得到-1
第二步:-1-(-3)得到 2
第三步: 2-(-2)得到 4