python reduce_python reduce分析

一直以来以为reduce是这样用的def add(x, y):

return x+y

li = [1,2,3,4,5,6]

sum = reduce(add,li)

这样等同于 sum=add(add...add(1,2))

但是查看源码可以看到reduce可以有3个参数def reduce(function, sequence, initial=None):

pass

一直没有关心inital参数是什么作用,网上有人给出源码,说是官方文档,但是这段代码是有问题的,def reduc(functon,iterable,initializer=None):

it = iter(iterable)

if initializer is None:

try:

initializer = next(it)

except StopIteration:

raise TypeError('reduce of empty')

accum_value = initializer

for x in iterable:

accum_value = functon(accum_value, x)

return accum_value

其实我只是想弄清楚传参过程def handle(request,data):

return request+data

lis = [1,2,3,4]

sum = reduce(handle,lis,10)

第一次调用handle(10,1) request=10,data=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值