以下是提供输出的代码段:0 1 2 2。3 3 3 3由于a[-1]访问列表中的数字3,我期望获得输出。在线给出的解释是“a[-1]每次迭代中更改的价值”,但我不太了解如何或为什么。任何解释都很好!
0 1 2 2
3 3 3 3
a[-1]
a = [0, 1, 2, 3] for a[-1] in a: print(a[-1])
这里发生的是一个列表在循环过程中发生了变异。
让我们考虑以下代码片段:
a = [0, 1, 2, 3] for a[-1] in a: print a
输出为:
[0, 1, 2, 0] [0, 1, 2, 1] [0, 1, 2, 2] [0, 1, 2, 2]
每次迭代:
就像这样:
[0, 1, 2, 0]
0
[0, 1, 2, 1]
1