关键字 lambda 是用于定义匿名函数的一种方法。所谓的匿名函数就是不需要定义函数名称同时又可以简便的定义函数的功能。
语法:lambda[ arg1 [arg2, args3, ... ] ] : expression
exp:
### 无参匿名函数 ### lambda : ture 等同于 def fun(): return ture ### 带参匿名函数 ### lambda x : x+3 lambda x,y : x+y lambda x, y=1 : x+y ### 参数个数任意的匿名函数 ### lambda *z : z # *z 表示传入的参数的个数是任意的 ### 参数为键值对的形式 ### lambda **args : args # **args传入的是键值对的参数
用处
作为函数体赋值给变量
fun = lambda x : x+1 fun(1) >> 2
直接传参获得匿名函数返回值
(lambda x : x+1)(1) >> 2
嵌入普通函数
def fun(x): return lambda x : x+1 fun(1) >> 2
作为函数参数传递
# 求两个列表元素的和 a = [1,2,3,4] b = [5,6,7,8] list(map(lambda x, y: x+y, a, b)) # map()会根据提供的函数对指定序列做映射:map(function,iterable) >> [6, 8, 10, 12]