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

Python lambda-在这种情况下有必要吗?,python,lambda,Python,Lambda,lambda xxx:foo(xxx)-它与刚才的foo完全相同吗? 用于建筑,如 map(lambda xxx:foo(xxx),我的东西) 我看不出有什么区别: 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) 打印相同的 2 3 4 是的,没错lambda x:foo(x)与调用foo(x

lambda xxx:foo(xxx)
-它与刚才的
foo
完全相同吗? 用于建筑,如
map(lambda xxx:foo(xxx),我的东西)

我看不出有什么区别:

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)
打印相同的

2
3
4

是的,没错
lambda x:foo(x)
与调用
foo(x)
相同

请记住,
lambda
只是一个匿名函数,它对
x
起作用。在这种情况下,它只需在
x
上调用
foo
,并返回
foo(x)
的结果

例如,调用
(lambda x:foo(x),60)
类似于这样做:

def function2(y):
    return y*2

def function1(x):
    return function2(x)

function1(60)

是的,没错
lambda x:foo(x)
与调用
foo(x)
相同

请记住,
lambda
只是一个匿名函数,它对
x
起作用。在这种情况下,它只需在
x
上调用
foo
,并返回
foo(x)
的结果

例如,调用
(lambda x:foo(x),60)
类似于这样做:

def function2(y):
    return y*2

def function1(x):
    return function2(x)

function1(60)
不,
lambda x:foo(x)
foo(x)
不同,而是
foo
。eta减少是将
lambda x:foo(x)
转换为
foo

map(lambda:plus(a),[1,2,3])
map(plus,[1,2,3])
通过将
lambda:plus(a)
替换为
plus
eta缩减规则的应用来关联。

否,
lambda x:foo(x)
foo(x)
不同,而是
foo
。eta减少是将
lambda x:foo(x)
转换为
foo


map(lambda:plus(a),[1,2,3])
map(plus,[1,2,3])
通过将
lambda:plus(a)
替换为
plus
eta缩减规则的应用来关联。

是的,这是关于
foo
而不是
foo(x)
,这就是我的意思,我会编辑我的问题,谢谢你,关于
foo
不是
foo(x)
,这就是我的意思,我将编辑我的问题,谢谢