zoukankan      html  css  js  c++  java
  • python循环删除list中的元素

    直接上例子:

    a = [1,2,3,4,5,6]
    for i  in a:
        a.remove(i)
    print(a)
    返回:[2, 4, 6]

    循环a,想删除a的所有元素,但实际确有数据保留了下来,这是为什么呢,为什么呢!!!

    因为在循环a,并删除a的元素时,列表的位置发生了移位,当删除“1”后,第二个元素“2”补位,这样“2”就躲过了被删除的命运,轮到“3”了,“3”被删除之后,“4”来补位,逃过一劫,以此类推!!

    所以在循环list时,不能循环的同时删除自身元素

    解决的办法:新建一个相同的临时列表,用for循环临时列表,删除原列表中的元素!

    例子:

    b = [1,2,2,4,3,2,1,6,8]
    c = b[:]
    for i in c:
        if i%2 ==0:
            b.remove(i)
    print(b)
    返回
    [1, 3, 1]
  • 相关阅读:
    shell的正则表达式
    shell语法
    shell通配符
    shell小命令
    DNS
    CCNA参考链接
    Network problem solving flow chart
    我是一个路由器
    我是一个网卡
    Chrome
  • 原文地址:https://www.cnblogs.com/shengguorui/p/11355951.html
Copyright © 2011-2022 走看看