1、匿名函数lambda
一段示例代码:
def f(x, y):
return x+y
reduce(f, [1,2,3]) # reduce的作用是将list中的值累计相加(f函数提供的计算)1+2=3,3+3=6
等价于:
reduce(lambda x,y:x+y, [1,2,3])
更多示例:
list1=[2, 18, 9, 22, 17, 24, 8, 12, 27]
[x for x in filter(lambda x:x%3==0, list1)] # filter函数将已知的序列的每个元素调用给定的布尔函数,调用中,返回值为非零的元素将被添加至一个列表中
[18, 9, 24, 12, 27]
[x for x in map(lambda x:x*2, list1)] # map()将函数调用映射到每个序列的对应元素上并返回一个含有所有返回值的列表
[4, 36, 18, 44, 34, 48, 16, 24, 54]
这里需要注意的是filter和map两个函数在python2和3中的区别,在2中可以直接运行map(lambda x:x*2, foo)即可得出结果,而在3中如果直接运行的话,会显示为: