Hus*_*ain 1 python for-loop list
我正在使用 python 中的 for 循环迭代列表。我无法了解这种情况下发生的情况。
a=[0,1,2,3]
for a[-1] in a:
print(a)
Run Code Online (Sandbox Code Playgroud)
输出->
[0, 1, 2, 0]
[0, 1, 2, 1]
[0, 1, 2, 2]
[0, 1, 2, 2]
Run Code Online (Sandbox Code Playgroud)
在此 for 循环中,您将a[-1]列表中的最后一项设置a为当前迭代的对象。
一步一步走下去,结果就一目了然了。
a = [0, 1, 2, 3]
第一次迭代
当前迭代:0
将最后一个对象设置为ato 0,意思是:
a = [ 0 , 1, 2, 0 ]
第二次迭代
当前迭代:1
将最后一个对象设置为ato 1,意思是:
a = [0, 1 , 2, 1 ]
第三次迭代
当前迭代:2
将最后一个对象设置为ato 2,意思是:
a = [0, 1, 2 , 2 ]
第四次迭代
在第四次迭代中,您只需将 a 中的最后一项设置为自身,这意味着没有任何变化。这解释了为什么你得到了你所做的输出。