python 列表删除元素,单个元素,多个连续或不连续元素

以列表a为例

import numpy as np

a = ['上海市', '云南省', '内蒙古', '四川省', '天津市', '宁夏', '安徽省', '山东省', '山西省']

删除单个元素

  • 根据元素的值删除

    Python 提供了 remove() 方法,该方法会根据元素本身的值来进行删除操作。

    需要注意的是,remove() 方法只会删除第一个和指定值相同的元素,而且必须保证该元素是存在的,否则会引发 ValueError 错误。

    a.remove("上海市")
    
    image-20210224151223497
  • 根据元素的索引删除

    a.pop(0)
    

image-20210224151459424

Python pop() 方法用来删除列表中指定索引处的元素,并返回删除的元素值,如果不提供参数,则默认删除最后一个元素

删除多个元素

  • 连续的多个元素

    del 也可以删除中间一段连续的元素,格式为:

    del listname[start : end]
    

    image-20210224151820358

  • 删除多个不连续的元素

    如果对一个列表,我想要删除几个特定的位置(已知他们的索引)的元素,该怎么办呢 循环+pop肯定是不行的,因为删除掉第一个元素之后,整个列表的索引会发生变化. 此时我们使用np.delete()方法

    举例:

    import numpy as np
    
    a = ['上海市', '云南省', '内蒙古', '四川省', '天津市', '宁夏', '安徽省', '山东省', '山西省']
    drop_list = [0,2,5]
    a = np.delete(a, drop_list).tolist()
    print(a)
    

    image-20210224152420054

posted @ 2021-02-24 15:38  CuriosityWang  阅读(6842)  评论(0编辑  收藏  举报