一、语法
1 | lambda argument_list:expersion |
注意1:lambda函数体只能写一句话
注意2:不支持赋值语句,如下代码报错
1 | func01 = lambda p: p = 10 |
二、使用
1.定义为函数
(1)有参数有返回值
1 | add = lambda x,y: x+y |
(2)无参数有返回值
1 | func01 = lambda: True |
(3)有参数无返回值
1 | func01 = lambda p: print(p) |
(4)无参数无返回值
1 | func01 = lambda: print("hello") |
2.即时定义即时使用
1 | (lambda x,y: x+y)(3,5) # 8 |
3.结合map、filter、reduce、sorted
1 | # 作为 map 的迭代方法 |
4.条件判断
1 | # 两个数的最大值 |
5.和字典结合
1 | # 可以定义在字典的值里,用 key 来调用 |