我试图理解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发布于 2022-04-28 07:36:20
对于某些x,这两个函数是等价的:
f1 = lambda n: str(n * x)
def f2(n):
return str(n * x)除此之外,您要做的就是将几个函数(对于x的几个值)放在字典中。
https://stackoverflow.com/questions/72039667
复制相似问题