lst = [1, 1, 1, 1, 2, 1, 2]
for i in lst:
if i == 1:
lst.remove(i)
print(lst)
[1, 2, 1, 2]
按照我的推断,答案应该是
[1,1, 2, 2]
因为每次你删除1的时候 列表的索引是在新的列表上进行操作的不是在原先的
这个看一下就理解了:
lst = [1, 2, 3, 4, 5, 6, 7]
for i,v in enumerate(lst):
print(lst, i, v)
if i % 2 ==0:
lst.remove(v)
print(lst)
不知道你这个问题是否已经解决, 如果还没有解决的话: