首先看下下面这段代码会输出什么?
lis = [1,2,3,4]
count = 1
for i in lis:
if count < 5:
lis.append(5)
count+=1
print(lis)
print(i)
如果你能很轻易且很自信的说出答案,后面的就不用看了。
!
!
!
!
结果是:
[5, 1, 2, 3, 4]
1
[5, 5, 1, 2, 3, 4]
1
[5, 5, 5, 1, 2, 3, 4]
1
[5, 5, 5, 5, 1, 2, 3, 4]
1
这里说明lis一直在改变,同时i之所以一直是1是因为lis改变使得i所对应的位置始终是1,如果将插入语句改为lis.append(5)即可看见不同输出如下:
[1, 2, 3, 4, 5]
1
[1, 2, 3, 4, 5, 5]
2
[1, 2, 3, 4, 5, 5, 5]
3
[1, 2, 3, 4, 5, 5, 5, 5]
4
本文通过一个具体的Python代码示例展示了在遍历列表的同时修改列表可能导致的意外行为,并提供了修改后的代码来对比不同的输出结果。
1500

被折叠的 条评论
为什么被折叠?



