python使用for循環遍歷刪除列表符合條件的數據有漏刪

代碼以下:app

# 建立一個列表list
list = [1,1,2,525,2,633663,6363,6,6,6,3,3,35,45,6,66,6,6,6,6,3]

# 循環列表裏的元素
for i in list:
    if i == 6:
        # 若是列表裏的元素等於6,刪除該元素
        list.remove(i)
print(list)

運行結果:
[1, 1, 2, 525, 2, 633663, 6363, 3, 3, 35, 45, 66, 6, 6, 6, 3]spa

結果,列表符合條件的數據未刪除乾淨code

 

分析緣由:
for循環中,i表明的是最開始就肯定的列表裏全部的元素,刪除一個元素後,列表裏的元素位置發生改變,後一位元素自動補位,補位的這個元素就躲過了被刪除命運blog

解決方法:直接把符合咱們要求的元素保存到新的表格裏便可,不能同時遍歷和刪除列表的元素rem

以下代碼:for循環

list = [1,1,2,525,2,633663,6363,6,6,6,3,3,35,45,6,66,6,6,6,6,3]
list1=[]
for i in list:
    # 若是元素不等於6,加入list1列表
    if i != 6:
        list1.append(i)
print(list1)

運行結果:class

[1, 1, 2, 525, 2, 633663, 6363, 3, 3, 35, 45, 66, 3]循環

相關文章
相關標籤/搜索