需求
循环列表,并每次删除使用过的元素
lst = [[1], ['abc'], ['111'], ['222'], [5]]
for index, data in enumerate(lst):
print(index)
lst.remove(data)
print(lst)
错误的结果:列表的元素并没有循环结束,但是因为删除元素的索引的问题,已经退出循环了。
这段代码很明显是不能实现的,这段代码不行的原因是,当你在遍历列表的同时删除元素时,会导致索引错误。
正确的做法
lst = [[1], ['abc'], ['111'], ['222'], [5]]
new_list = []
for index, data in enumerate(lst):
if data not in new_list:
print(index)
new_list.append(data)
else:
break
print(lst)