1 #Python提供的sum()函数可以接受一个list并求和,请编写一个prod()函数,可以接受一个list并利用reduce()求积:


代码:


  2 3 from functools import reduce4 li = [1,2,3,4,5,7]5 print(sum(li))6 7 def prod(x,y): 8     return x * y9 10 r = reduce(prod,li)11 print(r)


运行结果:


[root@HK Practice]# python map_reduce_2.py 
22
840
[root@HK Practice]#


代码解释:


  2 3 from functools import reduce            #导入reduce模块4 li = [1,2,3,4,5,7]                      #创建一个列表用于计算5 print(sum(li))                          #打印求和结果6 7 def prod(x,y):                          #定义函数prod,传入两个参数x,y8     return x * y                        #返回x和y的乘积9 10 r = reduce(prod,li)                     #reduce 传入函数prod和列表li11 print(r)                                #打印结果