为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这里的reduce 函数需要加上第三个参数?

def calc_prod(lst):
    def lazy_prod():
       def f(x,y):
           return x*y
        return reduce(f,1st,1)
        #return reduce(f,1st)

    return lazy_prod

f = calc_prod([1, 2, 3, 4])
print f()

正在回答

1 回答

reduce(function, sequence[, initial]) -> value

Apply a function of two arguments cumulatively to the items of a sequence,
from left to right, so as to reduce the sequence to a single value.
For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates
((((1+2)+3)+4)+5).  If initial is present, it is placed before the items
of the sequence in the calculation, and serves as a default when the
sequence is empty.

自己解读下这句话,应该对你有帮助 If initial is present, it is placed before the items of the sequence in the calculation, and serves as a default when the sequence is empty. 

0 回复 有任何疑惑可以回复我~
#1

章然

完整的部分在哪里可以找到呢?我想看看。
2015-04-25 回复 有任何疑惑可以回复我~
#2

DanDanHang 回复 章然

完整的部分值的是以上那段话完整的部分吗?如果是的话,你可以在你python的命令行界面下,输入 help(reduce)
2015-04-25 回复 有任何疑惑可以回复我~
#3

章然 回复 DanDanHang

非常感谢。
2015-04-25 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

为什么这里的reduce 函数需要加上第三个参数?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信