Python自引用for循环
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]然后打印它。