python 对列表进行for循环删除元素,删除不干净问题解决

1.对一个列表a=[1,2,3,4,5]循环删除元素:

a=[1,2,3,4,5]
for i in a:
    a.pop(0)
print(a)

运行发现最后a不是[],该问题主要原因是删除元素后,整个列表的元素会往前移动,而i却是在最初就已经确定了,是不断增大的,所以并不能得到想要的结果。

解决办法:

a=[1,2,3,4,5]
for i in a[:]:
    a.pop(0)
print(a)

这次运行完a变为空列表

猜你喜欢

转载自www.cnblogs.com/dushangguzhousuoli/p/11308274.html