python list列表删除元素

文章发布于 2023-06-05

python list列表删除的三个方法

  • del 按索引删除
  • remove() 按值删除
  • pop() 按索引删除,并且返回被删除元素。
  • clear() 清空列表 (python 3.3+新增)

查看元素在列表的位置

>>> lang = ['php','go','java','c++','python']
>>> lang.index('c++')
3 # c++ 在lang 列表中的下标为3

检查列表中是否存在某个元素

>>> lang = ['php','go','java','c++','python']
>>> 'c++' in lang # c++ 是否在lang列表中,结果返回True
True
>>> 'javascript' in lang # javascript 是否在lang列表中,结果返回False
False

统计列表元素在列表中的个数

>>> lang = ['php', 'go', 'java', 'c++', 'php']
>>> lang.count('php') # 在lang列表中有几个php, 结果返回2个
2
>>> lang.count('javascript') # 在lang列表中有几个javascript, 结果返回0个
0

查看两个列表重复元素

>>> n1 = [1,2,3,4,5]
>>> n2 = [1,2,6,7,8]
>>> list(set(n1) & set(n2)) # 两个元素重复元素
[1,2]

删除首个元素

使用del 删除第一个元素

>>> p = [1,2,3,4,5]
>>> del p[0]
>>> p
[2, 3, 4, 5]

使用pop() 删除第一个元素

>>> p = [1,2,3,4,5]
>>> p.pop(0)
1
>>> p
[2, 3, 4, 5]

删除最后一个元素

使用del删除最后一个元素

>>> p = [1,2,3,4,5]
>>> del p[len(p)-1]
>>> p
[1, 2, 3, 4]

使用pop()删除最后一个元素

>>> p = [1,2,3,4,5]
>>> p.pop()
5
>>> p
[1, 2, 3, 4]

删除指定索引元素

删除索引为2的元素。可以使用del 和pop 方法删除。

# del 删除
>>> p = [1,2,3,4,5]
>>> del p[2]
>>> p
[1, 2, 4, 5]

# pop删除
>>> p = [1,2,3,4,5]
>>> p.pop(2)
>>> p
[1, 2, 4, 5]

删除多个元素

>>> p = [1,2,3,4,5]
>>> del p[1:3] # 使用切片删除多个元素
>>> p
[1, 4, 5]

删除最大值最小值

删除列表中最大值。使用sort()方法先排序。在sort方法里指定降序reverse=True。降序排列之后,最大值排序到了列表的第一位,然后删除列表第一个元素。

>>> p = [3.0 ,5.0 ,2,1,6]
>>> p.sort(reverse=True)
>>> p.pop(0)
6
>>> p
[5.0, 3.0, 2, 1]

删除列表中最小值。和上面一样, 使用sort()方法进行升序排列。升序排列之后,列表第一个元素为最小值,然后删除列表第一个元素。

>>> p = [3.0 ,5.0 ,2,1,6]
>>> p.sort()
>>> p
[1, 2, 3.0, 5.0, 6]
>>> p.pop(0)
1
>>> p
[2, 3.0, 5.0, 6]

删除指定值

remove()方法删除指定元素。

>>> lang = ['php','go','java','c++','python']
>>> lang.remove('python')
>>> lang
['php', 'go', 'java', 'c++']

删除重复元素

利用集合不可以重复,将列表转换为集合,然后再将集合转换为列表,并且将新的列表赋值给lang。

>>> lang = ['php','go','java','c++','python','php','go','java']
>>> lang = list(set(lang))
>>> lang
['go', 'java', 'python', 'c++', 'php']

删除两个列表中重复元素。

>>> n1 = [1,2,3,4,5]
>>> n2 = [1,2,6,7,8]
>>> list(set(n1) ^ set(n2))
[3, 4, 5, 6, 7, 8]