zan*_*ngw 5 python for-loop python-internals
在这篇文章中,以下代码片段可以工作。
a = [0, 1, 2, 3]
for a[-1] in a:
print(a[-1])
Run Code Online (Sandbox Code Playgroud)
参考这个答案
这样做时
for a[-1] in a,您实际上是遍历列表并将当前元素的值临时存储到a[-1].
同样,我认为这样做for a in a,它应该遍历列表并将当前元素的值临时存储到a,因此 的值a可能是0,并且不可迭代,然后TypeError在下一次迭代中将抛出异常。但是,结果如下。
>>> a = [0, 1, 2, 3]
>>> for a in a:
... print a
...
0
1
2
3
>>> a
3
Run Code Online (Sandbox Code Playgroud)
怎么理解?