如果 lambda 函数在 python3 中没有任何参数怎么办?



我最近读了一行代码,不明白它是什么意思,代码是

import collections
d = collections.defaultdict(lambda : [-1, -1, -1])

我对这里的lambda感到困惑。我只知道lamnda x: x+1.通常,我们有一个论据lambda.如果我们没有像这样的代码参数怎么办?

多谢

即使没有python中的lambda变量,也可以有效地使用Lambda函数。 使用lambda函数的一般过程如下

在一般功能的情况下,使用是

def identity(x):
return x+1

在λ的情况下

lambda x:x+1

无变量

lambda :x

将返回与x相同的返回。

如果没有变量,lambda 函数将保持空闲状态,无需任何操作,因此可以在没有变量的情况下使用它来获得相同的答案。 在没有操作变量的 lambda 的精确使用中,只是一行额外的代码。但它是有效的。

是的,我们可以定义一个没有任何参数的 lambda 函数。但是,这将是无用的,因为没有什么可操作的。让我们看一个简单的例子。

get_5 = lambda: 5
print(get_5())  # 5

由于 lambda 函数始终返回相同的值,因此我们可以为其分配一个变量。使用没有任何参数的 lambda 函数是对此功能的明显滥用。


d = collections.defaultdict([-1, -1, -1])

产生错误:

TypeError: first argument must be callable or None

由于列表不可调用,但 lambda 函数是可调用的。

相关内容

  • 没有找到相关文章

最新更新