• lambda 匿名函数,不能使用关键词如if
1
2
3
4
5
#求和计算
In [13]: a = lambda x,y: x+y

In [14]: a(2,3)
Out[14]: 5
  • reduce
1
2
In [15]: reduce(lambda x,y:x+y,range(1,11))
Out[15]: 55
  • filter 可以用来过滤列表
1
2
3
#筛选大于5的值,注意lambda中不能使用if
In [25]: filter(lambda x:x>5,range(1,11))
Out[25]: [6, 7, 8, 9, 10]
  • map 操作列表,对列表进行整体变形

fun中有几个参数,就需要几个列表

1
2
3
4
5
6
7
8
9
#列表整体加1
In [27]: map(lambda x: x+1,range(1,11))
Out[27]: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
#两个列表相加
In [30]: map(lambda x,y: x+y,range(1,11),range(0,10))
Out[30]: [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
#列表相乘
In [32]: map(lambda x,y,z:x*y*z,range(1,3),range(4,6),range(7,9))
Out[32]: [28, 80]