【问题标题】:Delete multiple values in a list of python [duplicate]删除python列表中的多个值[重复]
【发布时间】:2015-10-14 21:51:50
【问题描述】:

我有一个要删除的列表元素的索引。我该怎么做?

例如,如果我的原始列表是 a=[1,2,3,4,5,6] 而我的索引列表是 ​​[2,3]。我希望删除元素 3,4

【问题讨论】:

    标签: python


    【解决方案1】:

    既然要删除索引,可以采用以下两种方法:

    就地:

    for index in sorted(indices, reversed=True):
        del a[index]
    

    不合适:

    new_a = [el for index, el in enumerate(a) if index not in indices]
    

    我们为就地版本排序的原因是因为从后面删除并不会修改前面的引用元素(注意这会与负索引中断)。

    【讨论】:

      【解决方案2】:
      a=[1,2,3,4,5,6]
      a = a[:2] + a[4:]
      print(a)
      [1, 2, 5, 6]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-04
        • 2022-07-07
        相关资源
        最近更新 更多