ruduce函数


reduce(function, sequence[, initial]) -> value    其中包含三个参数,第一个是传入的函数,第二个是是一个可迭代类型的参数,第三个是初始值

情况一:不传入第三个参数,即不传入初始值,默认会以    可迭代类型的参数的   第一个参数作为初始值。

比如下面的操作:

python中reduce与map函数详解

 

我们这里选取下面的代码讲解:

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章: