从列表中删除元素时跳过的zipped for循环元素

时间:2017-05-05 20:53:04

标签: python python-3.x for-loop

这是我第一次发帖,原谅任何格式错误。我想从我循环的一个压缩列表中删除一个元素,但是当我从列表中删除该元素时,索引似乎跳过了下一次迭代。

例如,您将在下面的代码中看到元素4被跳过。

x = [1,2,3,4,5]

y = [1,2,3,4,5]

for i,j in zip(x,y):
    print(i,j,x,y)
    if i==3:
        x.remove(i)

这会产生以下输出。

1 1 [1, 2, 3, 4, 5] [1, 2, 3, 4, 5]
2 2 [1, 2, 3, 4, 5] [1, 2, 3, 4, 5]
3 3 [1, 2, 3, 4, 5] [1, 2, 3, 4, 5]
5 5 [1, 2, 4, 5] [1, 2, 4, 5]

请注意,“i”和“j”共跳过了4个。任何人都可以解释为什么会这样吗?

0 个答案:

没有答案