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]
定义的g(x)就是作为map()第一个参数,它的作用是取参数X的三倍。
[1,3,4,5,7,10]列表作为g(x)的第二个参数,它是一个列表。没错,列表是一个可迭代对象,当然可迭代对象不仅仅有列表,其他的可以慢慢学习。调用map函数后,g(x)将会作用到列表的每个元素,我们来看看作用后的效果:
>>> list(l) [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