由于之前已经学习过Perl,故在最近学习Python3过程中,发现基础语法的学习并不困难,反而是一些其他部分学起来有点儿难,但是这些部分也是相当重要的,比如一些高阶函数(即把函数作为参数传入的函数),使用还是很普遍的,因此现将map()和reduce()函数的使用与区别记录一下,免得混淆。
map()
map()
函数的使用方法形如map(f(x),Itera)
. 它有两个参数,第一个参数为某个函数,第二个为可迭代对象。
1 >>> def g(x):
2 return 3 * x
3
4 >>> l=map(g,[1,3,4,5,7,10])
5 >>> list(l)
6 [3, 9, 12, 15, 21, 30]
reduce()
'reduce()函数的使用方法形如
reduce(f(x),Itera). 它的形式和map()函数一样。不过参数
f(x)`必须有两个参数。reduce()函数的作用是:把结果继续和序列的下一个元素做累积计算。
>>> from functools import reduce
>>> def add(x,y): #定义一个相加函数
return x+y
>>> reduce(add,[1,2,3,4,6])
16
网友评论