小编And*_*ner的帖子

在字典中存储 Lambda

我正在尝试将 lambda 函数存储在 python 字典中。似乎循环用最后一个 lambda 覆盖了存储在字典中的所有数据。例如:

example_dict = {}
for i in range(5):
    example_dict[i] = lambda x: x + i

for key, func in example_dict.items():
    print(key, func(10))
Run Code Online (Sandbox Code Playgroud)

应该输出

0 10
1 11
2 12
3 13
4 14
Run Code Online (Sandbox Code Playgroud)

但实际输出是:

0 14
1 14
2 14
3 14
4 14
Run Code Online (Sandbox Code Playgroud)

这对我来说非常有趣。有人知道为什么最后一个 lambda 函数会覆盖字典中的所有其他数据吗?

python lambda closures

4
推荐指数
1
解决办法
53
查看次数

标签 统计

closures ×1

lambda ×1

python ×1