【发布时间】:2021-01-04 18:52:26
【问题描述】:
看到以下 Python 程序的输出后,我有点困惑:
a = [0,1,2,3]
for a[-1] in a:
print(a[-1])
输出:
0
1
2
2
在这里,我获取了一个列表[0,1,2,3],它给出了output: 0 1 2 2,但我预计输出将是3 3 3 3,因为a[-1] 访问列表中的数字3。请有人帮我解决我的疑问。
【问题讨论】:
-
如果在循环的每次迭代中打印整个列表,就会更容易看到发生了什么。
3不是结果的可能部分,因为您在第一次迭代时覆盖了该值。 -
这里有奇怪的反对票。有人应该说
for a[-1] in a不应该 被使用,for a in a也不应该被使用。将项目分配给与列表相同的变量是一件容易的事。当然,你可以做到,但你会让自己面对令人讨厌的错误。
标签: python python-3.x list