Python遍历列表时其中的删除元素_CodingPark编程公园
作者:互联网
遍历列表时其中的删除元素
删除列表中的元素我们通常会用
.remove( )
因为删除元素后,整个列表的元素会往前移动,而i却是在最初就已经确定了,是不断增大的,所以并不能得到想要的结果。
所以会造成这样的问题
a = [1,2,3,4,5,6,7,8]
for i in a:
if i>5:
pass
else:
a.remove(i)
print(a)
解决办法
遍历在新的列表操作,删除是在原来的列表操作
a = [1,2,3,4,5,6,7,8]
print(id(a))
print(id(a[:]))
for i in a[:]:
if i>5:
pass
else:
a.remove(i)
print(a)
print('-------------------------')
print(id(a))
标签:遍历,删除,Python,元素,remove,列表,print,CodingPark,id 来源: https://blog.csdn.net/weixin_38411989/article/details/113613657