课程
/后端开发
/Python
/python进阶
说实在的,有点看不懂return reduce( f , lst ,1)里面这句话是什么意思
2018-01-01
源自:python进阶 2-8
正在回答
f表示reduce函數接受的函數 就是你之前def定義的函數 lst是reduce函數接受的數列 就是你傳進的數列 1是從1開始 如果你選100 就會從100開始 把100拿進去計算 比如:
def prod(x,y):#prod 我這裏定義爲乘積函數
return x*y
print reduce( prod , lst ,100)
假如lst=[1,2,3]
結果爲1×2×3×100=600
print reduce( prod , lst ,1)
結果爲1×2×3×1=6
reduce函数是高阶函数,他接收一个函数f 和一个list,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值,reduce(f, lst, 1)里面第3个参数表示计算的初始值,所以就是reduce计算时从初始值1开始,先计算f(1,lst[0])。
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号