Lambda函数是一个小的匿名函数。
Lambda函数可以接受任意数量的参数,但只能具有一个表达式。
执行表达式并返回结果
1.一个lambda函数,它将作为参数传递的数字加10,并打印结果:
x = lambda a : a + 10 print(x(5)) 15Lambda函数可以接受任意数量的参数
2.一个lambda函数,它将参数a与参数b相乘并输出结果:
x = lambda a, b : a * b print(x(5, 6)) 303.一个lambda函数,对参数a,b和c求和并输出结果:
x = lambda a, b, c : a + b + c print(x(5, 6, 2)) 134.对于如下Dataframe,返回布尔值类型:
a = lambda x:x['Gender']=='M' a(df) ID 1101 True 1102 False 1103 True 1104 False 1105 False 1201 True 1202 False 1203 True 1204 False 1205 False 1301 True 1302 False 1303 True 1304 True 1305 False 2101 True 2102 False 2103 True 2104 False 2105 True 2201 True 2202 False 2203 True 2204 True 2205 False 2301 False 2302 True 2303 False 2304 False 2305 True 2401 False 2402 True 2403 False 2404 False 2405 False Name: Gender, dtype: bool5.不管传入什么参数,始终返回 [3]
a = lambda x:[3] print(a(1)) print(a(3)) print(a([3])) [3] [3] [3]将lambda用作另一个函数中的匿名函数时,可以更好地显示lambda的功能。
下面函数可以将传入的函数变为原来的 n 倍,传入不同的参数可以得到具有不同放大倍数功能的函数:
def myfunc(n): return lambda a : a * n mydoubler = myfunc(2) mytripler = myfunc(3) print(mydoubler(11)) print(mytripler(11)) 22 33