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)

Python遍历列表时其中的删除元素_CodingPark编程公园

解决办法

遍历在新的列表操作,删除是在原来的列表操作

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遍历列表时其中的删除元素_CodingPark编程公园

Python遍历列表时其中的删除元素_CodingPark编程公园

上一篇:Arrays.asList()的集合不能add()和remove()


下一篇:Vue插槽与删除按钮