在最简单的形式中,map()带一个函数和队列,将函数作用在序列的每个元素上,然后创建由每次函数应用组成的返回值列表。
>>> list(map((lambda x:x+2),[0,1,2,3,4,5]))
[2, 3, 4, 5, 6, 7]
映射函数是给每个进入的数值加二,并且将这个函数和一个数字的列表传给map(),
返回的结果列表是和原始集合相同的数字集合,但是每个数字都加了2.
举例子,简单的lambda例子
>>> list(map((lambda x:x**2),range(6)))
[0, 1, 4, 9, 16, 25]
将上面两个lambda例子改写:
>>> [x+2 for x in range(6)]
[2, 3, 4, 5, 6, 7]
>>> [x**2 for x in range(6)]
[0, 1, 4, 9, 16, 25]
使用带多个序列的map()函数的例子
>>> list(map(lambda x,y:(x+y),[1,3,5],[2,4,6]))
[3, 7, 11]
>>> list(map(lambda x,y:(x+y,x-y),[1,3,5],[2,4,6]))
[(3, -1), (7, -1), (11, -1)]