在展开之前,我们先提一下lambda函数。可以利用lambda函数的语法,定义函数。lambda例子如下:
func = lambda x,y: x + y
print func(3,4)
函数可以作为一个对象,进行参数传递。函数名(比如func)即该对象。比如说:
def test(f, a, b): print 'test' print f(a, b) test(func, 3, 5)
test((lambda x,y: x**2 + y), 6, 9)
map()是Python的内置函数。它的第一个参数是一个函数对象。
re = map((lambda x: x+3),[1,3,5,6])
re = map((lambda x,y: x+y),[1,2,3],[6,7,9])
filter
def func(a): if a > 100: return True else: return False print filter(func,[10,56,101,500])
reduce()函数
reduce函数的第一个参数也是函数,但有一个要求,就是这个函数自身能接收两个参数。reduce可以累进地将函数作用于各个参数。如下例:
print reduce((lambda x,y: x+y),[1,2,5,7,9])
reduce()函数在3.0里面不能直接用的,它被定义在了functools包里面,需要引入包