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


代码:


  2 
  3 from functools import reduce
  4 li = [1,2,3,4,5,7]
  5 print(sum(li))
  6 
  7 def prod(x,y): 
  8     return x * y
  9 
 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,y
  8     return x * y                        #返回x和y的乘积
  9 
 10 r = reduce(prod,li)                     #reduce 传入函数prod和列表li
 11 print(r)                                #打印结果