直接上例子: a = [1,2,3,4,5,6] for i in a: a.remove(i) print(a) 返回:[2, 4, 6] 循环a,想删除a的所有元素,但实际确有数据保留了下来,这是为什么呢,为什么呢!!! 因为在循环a,并删除a的元素时,列表的位置发生了移位,当删除“1”后,第二个元素“2”补位,这样“2”就躲过了被删除的命运,轮到“3”了,“3”被删除之后,“4”来补位,逃过一劫,以此类推!! 所以在循环list时,不能循环的同时删除自身元素 解决的办法:新建一个相同的临时