列表基本上是 Python 中最常用的数据结构之一了,并且删除操作也是经常使用的。
那到底有哪些方法可以删除列表中的元素呢?这篇文章就来总结一下。
一共有三种方法,分别是?remove ?,?pop ?和?del ?,下面来详细说明。
remove
L.remove(value) -> None -- remove first occurrence of value. Raises ValueError if the value is not present.
remove ?是从列表中删除指定的元素,参数是 value。
举个例子:
>>> lst = [1, 2, 3]
>>> lst.remove(2)
>>> lst
[1, 3]
需要注意,?remove ?方法没有返回值,而且如果删除的元素不在列表中的话,会发生报错。
>>> lst = [1, 2, 3]
>>> lst.remove(4)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list
pop
L.pop([index]) -> item -- remove and return item at index (default last). Raises IndexError if list is empty or index is out of range.
pop ?是删除指定索引位置的元素,参数是 index。如果不指定索引,默认删除列表最后一个元素。
>>> lst = [1, 2, 3]
>>> lst.pop(1)
2
>>> lst
[1, 3]
>>>
>>>
>>>
>>> lst = [1, 2, 3]
>>>
>>> lst.pop()
3
pop ?方法是有返回值的,如果删除索引超出列表范围也会报错。
>>> lst = [1, 2, 3]
>>> lst.pop(5)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: pop index out of range
>>>
del
del ?一般用在字典比较多,不过也可以用在列表上。
>>> lst = [1, 2, 3]
>>> del(lst[1])
>>> lst
[1, 3]
直接传元素值是不行的,会报错:
>>> lst = [1, 2, 3]
>>> del(2)
File "<stdin>", line 1
SyntaxError: cannot delete literal
del ?还可以删除整个列表:
>>> lst = [1, 2, 3]
>>> del(lst)
>>>
>>> lst
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'lst' is not defined
以上就是本文的全部内容,如果觉得还不错的话,感谢支持。
|