【发布时间】:2017-01-08 17:36:08
【问题描述】:
我在一次在线python测试中遇到了以下情况:
a = [0,1,2,3]
for a[3] in a:
print a[3]
当我将它插入解释器(python 2.7)时,我得到:
0
1
2
2
我一生都无法弄清楚为什么会这样。谁能解释一下?
【问题讨论】:
-
您正在用循环的每次迭代替换
a[3]。看看例如pythontutor.com/visualize.html#mode=edit -
每次迭代都会重置列表中的第 4 项,最终它只是糟糕的代码。
标签: python