1 #Python提供的sum()函数可以接受一个list并求和,请编写一个prod()函数,可以接受一个list并利用reduce()求积:
代码:
1
2
3
4
5
6
7
8
9
10
|
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)
|
运行结果:
1
2
3
4
|
[root@HK Practice] # python map_reduce_2.py
22 840 [root@HK Practice] #
|
代码解释:
1
2
3
4
5
6
7
8
9
10
|
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) #打印结果
|
本文转自snc_snc 51CTO博客,原文链接:http://blog.51cto.com/netsyscode/1751356,如需转载请自行联系原作者