x.remove(item)
>>> x
[2, 2, 2, 2]
看上去完全正确,但实际上这段代码是有问题的,继续往下看
>>> x = [1, 2, 1, 2, 1, 1, 1, 1]
>>>...粗略一想,列表的remove()方法是删除参数的第一次出现,无法指定下标位置,是这个问题吗?...下标越界,为什么会下标越界呢?难道是删除了列表中的元素导致元素个数减少并且影响了后续元素的索引?...IndexError: list index out of range
好像真的是这个问题,为了更好地理解这个问题,看下面的代码
>>> x = [(0,1),(1,1),(2,1),(3,1),(4,1...既然从列表中间位置删除元素会导致后面的元素索引发生改变,那么就从后往前删除好了。