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]循环

相关文章
相关标签/搜索