例:
g = lambda x:x+
1
g(1)
>>>2
g(2)
>>>3
也可以 lambda x:x+1(1) 这样用
实际上lambda是匿名函数,函数入口是x,函数体是x+1
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]
>>>[
18,
9,
24,
12,
27]
lambda 定义了一个匿名函数 lambda 并不会带来程序运行效率的提高,只会使代码更简洁。 如果可以使用for…in…if来完成的,坚决不用lambda。 如果使用lambda,lambda内不要包含循环,如果有,建议定义函数来完成,使代码获得可重用性和更好的可读性。 总结:lambda 是为了减少单行函数的定义而存在的。