|
按照学习手册上说的reduce的自己实现方式
def myreduce(func, seq):
tally = seq[0]
for next in seq[1:]:
tally = func(tally,next)
return tally
问题是手册让实现reduce可选参数initial作为练习...要求是和内置的reduce一个效果,即当seq为空时,默认输出initial=value,当seq非空时 把initial放到seq的头部...也就是
tally = initial, next 从seq[0]开始计数,怎么样才能实现initial为任意值时均能实现啊?比如如果我直接用 initial+seq[:] 对于某些函数就不行了,会引发 Typeerror,还有initial要使用什么默认值呢...我看内置的reduce是用的类方法实现的...
|
|