for循环和列表。remove()不';t在python中删除列表中的所有项
运行完这个代码后,我得到了这个for循环和列表。remove()不';t在python中删除列表中的所有项,python,list,for-loop,Python,List,For Loop,运行完这个代码后,我得到了这个 names_friends=["Juan","Efren","Kiki", "Esmoris", "Diego", "Nando"] for i in names_friends: print(i) names_friends.remove(i) print(names_friends) 如果有人能向我解释为什么它没有删除列表中的所有项目,我将不胜感激。谢谢你在迭代iterable时更改了iterable。因此,一旦您从中删除一个对象,它可能会
names_friends=["Juan","Efren","Kiki", "Esmoris", "Diego", "Nando"]
for i in names_friends:
print(i)
names_friends.remove(i)
print(names_friends)
如果有人能向我解释为什么它没有删除列表中的所有项目,我将不胜感激。谢谢你在迭代iterable时更改了iterable。因此,一旦您从中删除一个对象,它可能会跳过下一个对象 如果您迭代一个副本,这个问题就会消失,例如
Juan
Kiki
Diego
['Efren', 'Esmoris', 'Nando']
在迭代ittry时更改列表确实不是一个好主意
for i in names_friends[:]:
print(i)
names_friends.remove(i)