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

正在回答

4 回答

Python中的reduce(func,list,initial),其中initial表示累计初始值,是可选参数,如果省略,则系统默认为list[0],我记得这个一节课程中的f函数是计算两个数乘积的,所以initial=1表示list中的所有数从乘1开始,如果是2的话就从乘2开始,你可以自己改变下参数试试

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

没有什么不可能 提问者

非常感谢!明白了
2016-05-06 回复 有任何疑惑可以回复我~

我觉得是不是因为相乘是2个数,为了防止LIST 只有1个数所以给个1,开始是1*list[0],反正是乘法,1是无所谓的。不知道对不对。

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

这个我试了下,没有1为啥结果也是24

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

Python中的reduce(func,list,initial),其中initial表示累计初始值,是可选参数,这些说的都没错,initial也是可以省略的,但是赋了值不是代表从哪开始,不管赋不赋值,list成员都会计算完,而initial只是在list计算的结果再进行一次func的计算,例如

list=[1,2,3,4]

print reduce(lambda x,y:x+y,list,1)

打印list和初始值的和,list里1-4和是10,所以最后的结果initial是1,就是11;是2,就是12,你可以试一下。

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

没有什么不可能 提问者

非常感谢啦 懂了
2016-05-06 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

这里为什么是1?

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