在上述代码中,我希望输出为 0 1 2 3,但我得到的输出是 0 1 2 2。请帮我看看这是为什么? ,它是如何工作的。这是我的问题陈述的代码。
a = [0, 1, 2, 3]
for a[-1] in a:
print(a[-1])
这是python的代码,得到的输出是0 1 2 2
请您参考如下方法:
在这种情况下,您将在遍历列表的同时重新分配列表中的值。如果您在循环中打印出整个列表,您将看到以下内容:
>>> for a[-1] in a:
... print(a)
...
[0, 1, 2, 0]
[0, 1, 2, 1]
[0, 1, 2, 2]
[0, 1, 2, 2]
如果你想遍历列表中的单个项目,你必须以不同的方式命名你的变量,例如:
for item in a:
print(item)
然后输出是 0 1 2 3 正如您所期望的那样。
