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')
为什么会出错?
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')
为什么会出错?
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
首先,尽量不要在循环中删除元素,会使元素下标移动容易造成问题。
此外,这这个问题,在其第一次循环的时候remove已经移除了list中的'a',此时list=['e','d'],所以你第二次循环remove找不到元素'a'自然会报错,请自行Debug查看过程。