它按预期工作。(至少对于“预期”的某种解释。)
为此,请重新编写代码,以防止a[-1]
在任何时候出现误解:
a = [a for a in range(0,4)]
for b in a:
print (b)
a[-1] = b
print (a)
向我们展示
0
[0, 1, 2, 0]
1
[0, 1, 2, 1]
2
[0, 1, 2, 2]
2
[0, 1, 2, 2]
可以清楚地看到,立即b
分配 给a[-1]
,并在迭代时更改列表。
四个循环执行以下操作: