2

以下 Python 程序:

d = {}

for x in range(3):
    d[x] = lambda: x

print(d[0](), d[1](), d[2]())

输出:

2 2 2

x受表达式中的引用约束。lambdafor语句之后,x被绑定到 2,它解释了输出。

我想x改为受约束,以获得以下输出:

0 1 2

我怎样才能做到这一点?

4

0 回答 0