Python lambda - 在这种情况下有必要吗?

scy*_*gon 1 python lambda

lambda xxx: foo(xxx)- 和刚才完全一样foo吗?用于建筑如 map(lambda xxx: foo(xxx), my_things)

我看不出任何区别:

def plus(a):
    return a+1
for i in map(plus, [1,2,3]):
    print(i)
for i in map(lambda a: plus(a), [1,2,3]):
    print(i)
Run Code Online (Sandbox Code Playgroud)

打印相同

2
3
4
Run Code Online (Sandbox Code Playgroud)

Dan*_* D. 5

不,lambda x: foo(x)不等于foo(x)而是foo。的ETA是减少的转化lambda x: foo(x)foo

map(lambda a: plus(a), [1,2,3])并且map(plus, [1,2,3])通过替换相关lambda a: plus(a)plusETA的还原规则的应用。