Python-lambda 匿名函数
简介
python 使用 lambda 来创建匿名函数。
- lambda只是一个表达式,函数体比def简单很多。
lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
DEMO
两种使用方式
-
g = lambda x:x+1g(1)
>>>2
g(2)
>>>3 -
lambda x:x+1(1)-->2
TIPS
如果可以使用for...in...if来完成的,坚决不用lambda。
>>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
>>>
>>> print filter(lambda x: x % 3 == 0, foo)
[18, 9, 24, 12, 27]
print [x for x in foo if x % 3 == 0]

浙公网安备 33010602011771号