map(f, Itera) # 对每一个元素都使用f(x)
>>> sq = lambda x:x**2 >>> l = map(sq,[-1,0,1,2,-3]) >>> list(l) [1, 0, 1, 4, 9]
当然也可以传入两个参数的:
>>> add = lambda x, y: x + y >>> l = map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10]) >>> list(l) [3, 7, 11, 15, 19]
reduce(f(x), Itera) # 对前一个x1把结果f(x1)继续和序列的下一个元素x2做累积计算
函数f必须有两个参数x,y
>>> from functools import reduce >>> def add(x,y): #定义一个相加函数 return x+y >>> reduce(add,[1,2,3,4,6]) 16
add(x,y)是我们定义的一个函数,将add函数和[1,2,3,4,6]列表传入reduce函数,就相当于1+2+3+4+6 =16。即把结果继续和序列的下一个元素做累加。