a = [0, 1, 2, 3]
for a[-1] in a:
print(a[-1])
输出为 0 1 2 2
为什么a[-1]
每次迭代都会改变?
最佳答案
您的代码相当于:
a[-1] = a[0]
print(a[-1])
a[-1] = a[1]
print(a[-1])
a[-1] = a[2]
print(a[-1])
a[-1] = a[3]
print(a[-1])
每次通过循环,它都会将当前列表元素的值分配给 a[-1]
然后打印出来。
关于Python 自引用 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66558284/