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

不理解,求解

def calc_prod(lst):
    def lazy_prod():
        def f(x,y):
            return x*y
        return reduce(f,lst,1)
    return lazy_prod中的:

   return reduce(f,lst,1)?????

 

正在回答

1 回答

reduce(f,list,a)函数是python的高阶函数,其作用就是将list(列表)的每两个元素传递给f方法作为参数,然后返回一个新的元素添加到list中,返回最后剩余的一个结果。其中a是基础数,就是第一次调用f方法时,x参数为a

比如list=[2,3,4,5]

def f(x,y):

    return x*y

a=1

那么调用reduce函数处理的过程为:

  1. 将1,2传给f,计算后,返回2

  2. 将2,3传给f,计算后,返回6

  3. 将6,4传给f, 计算后 返回24

  4. 将24,5传给f,计算后,返回120

    list所有元素都访问过一遍了,返回结果120

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

举报

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

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

进入课程

不理解,求解

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号