Python中list如何删除元素

Python里面,对于list删除元素有以下场景:

  • 根据元素所在位置删除,可使用del或者pop方法
  • 根据元素值进行删除,可使用remove方法
  • 清空列表,使用clear方法

根据位置删除列表元素

使用del方法删除
del语法:del 列表名[开始位置:结束位置:步长]
示例:
删除列表中偶数位置的元素

>>> l = ['a','b','c','d','e','f','g','h','i']
>>> del l[1::2]
>>> l
['a', 'c', 'e', 'g', 'i']
>>>

使用del方法删除列表元素时,超出列表长度则报错:

>>> del l[20]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range
>>>

使用pop方法删除
语法:列表名.pop(位置)
示例:
删除位置3上的元素:

>>> l = ['a','b','c','d','e','f','g','h','i']
>>> l.pop(3)
'd'
>>>

pop方法每次只删除一个元素,且返回被删除的元素,如果超出列表长度则报错

>>> l.pop(20)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: pop index out of range
>>>

根据元素值删除

删除列表中指定元素值元素时使用remove方法,语法:列表名.remove(要删除的值)
示例

>>> l = ['a','b','c','a','e','b','g','c','i']
>>> l.remove('c')
>>> l
['a', 'b', 'a', 'e', 'b', 'g', 'c', 'i']
>>>

当列表中有重复元素的时候,是用remove方法只会删除首次出现的元素,若要删除的元素在列表中不存在,则报错

>>> l = ['a','b','c','a','e','b','g','c','i']
>>> l.remove('t')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list
>>>

清空列表

清空列表使用clear方法,语法:列表名.clear()
示例:

>>> l = ['a','b','c','a','e','b','g','c','i']
>>> l.clear()
>>> l
[]
>>>
posted @ 2021-01-25 14:26  CodingCat1991  阅读(154)  评论(0)    收藏  举报