python在迭代列表的同时,remove列表中的元素?
python">foo = ['a', 'e', 'd']for i in foo:
foo.remove('a')
Traceback (most recent call last): File "test.py", line 4, in <module>
foo.remove('a')
ValueError: list.remove(x): x not in list
这里foo.remove('a')
为什么会出错?
回答:
首先,尽量不要在循环中删除元素,会使元素下标移动容易造成问题。
此外,这这个问题,在其第一次循环的时候remove已经移除了list中的'a',此时list=['e','d'],所以你第二次循环remove找不到元素'a'自然会报错,请自行Debug查看过程。
回答:
在循环中删除元素不是一个好的做法。
如果要删除列表中的元素,可以考虑先确定有多少个要删除的元素,
再根据这个值,多次调用remove。
以上是 python在迭代列表的同时,remove列表中的元素? 的全部内容, 来源链接: utcz.com/a/163457.html