【发布时间】:2019-04-04 14:01:03
【问题描述】:
主要规则是:在迭代列表时不要修改列表,但是...
给定以下代码来删除 python 列表中的特定元素(但故意写成循环):
mylist = ['a', 'b', 'c', 'd', 'e', 'f']
for i in mylist:
if i == 'c':
mylist.remove(i)
print(mylist)
>> ['a', 'b', 'd', 'e', 'f']
如果列表在循环内被修改,迭代器如何在迭代时不会丢失?我预计这会产生错误或不一致的行为。
【问题讨论】:
标签: python-3.x iterator