假设有个列表如下,现在下删除其中的所有1,于是编写了如下代码
>>> x = [1, 2, 1, 2, 1, 2, 1, 2]
>>> for item in x:
if item == 1:...粗略一想,列表的remove()方法是删除参数的第一次出现,无法指定下标位置,是这个问题吗?...但这个异常似乎揭示了问题所在。下标越界,为什么会下标越界呢?难道是删除了列表中的元素导致元素个数减少并且影响了后续元素的索引?...: list index out of range
好像真的是这个问题,为了更好地理解这个问题,看下面的代码
>>> x = [(0,1),(1,1),(2,1),(3,1),(4,1),(5,1)]...既然从列表中间位置删除元素会导致后面的元素索引发生改变,那么就从后往前删除好了。