12-5 reduce
# 12-5 reduce
# reduce使用方法
from functools import reduce
list_x = [1,2,3,4,5,6,7,8]
# 连续计算,连续调用lambda,reduce中,没有传入y,也能有计算结果的原因就是因为可以连续计算
r = reduce(lambda x,y:x+y,list_x)
print(r)
# 打印结果如图1
# (((1+2)+3)+4)这就是计算的过程
# 看看reduce的最后一个参数
from functools import reduce
list_x = [1,2,3,4,5,6,7,8]
# 连续计算,连续调用lambda,reduce中,没有传入y,也能有计算结果的原因就是因为可以连续计算
r = reduce(lambda x,y:x+y,list_x,10)#最后一个参数是初始值
print(r)
# 打印结果如图2
# 运行结果如下:(((10+1)+2)+3)
# 用下面的参数更好的看出结果:
from functools import reduce
list_x = ['1','2','3','4','5','7','8']
r = reduce(lambda x,y:x+y,list_x,'a')#最后一个参数是初始值
print(r)
# 打印结果如图3
1.jpg
2.jpg
3.jpg
网友评论