想知道 lambda 函数在 python 中的工作原理

Want to know how lamda function work in python

我正在尝试理解 python 中的 lambda 函数并得到了这个。

当我将 lambda 函数的实例存储在 Dict 中时。它在循环内给出了预期的结果。但是在循环之外,我认为它总是存储最后一个实例。

有人可以解释为什么会这样吗?以及当我们存储它们的实例时 lambda 函数实际上是如何工作的。

代码:

d = {}

for x in range(4):
    d[x] = lambda n: str(n*x)
    print(d[x](1))

print(d[1](2))
print(d[2](2))
print(d[3](2))

输出:

0
1
2
3
6
6
6

给定一些 x 这两个函数是等价的:

f1 = lambda n: str(n * x)

def f2(n):
    return str(n * x)

除此之外,您所做的就是将几个函数(x 的多个值)放入字典中。