
pop() 方法用于删除指定位置的元素,默认删除最后一个元素,返回值为该元素。如果索引超出范围,将引发 IndexError 异常。
python
l = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
# 删除索引为1的元素
remove_element = l.pop(1)
print(remove_element) # lisi
print(l) # ['zhangsan', 'wangwu', 'zhaoliu']
# 删除最后一个元素
remove_element = l.pop()
print(remove_element) # zhaoliu
print(l) # ['zhangsan', 'wangwu']
# 删除超过索引的元素
remove_element = l.pop(10) # IndexError: pop index out of range使用场景
INFO
适用于需要删除特定位置元素的场景,尤其是删除最后一个元素时。
python
l = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi']
# 删除lisi
l.remove('lisi')
print(l) # ['zhangsan', 'wangwu', 'zhaoliu', 'lisi']
# 删除不存在的元素
l.remove('xxx') # ValueError: list.remove(x): x not in listINFO
适用于删除已知值的元素,且列表中该值不重复或只需删除第一个匹配项的场景。
python
l = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi']
# 删除索引为1的元素
del l[1]
print(l) # ['zhangsan', 'wangwu', 'zhaoliu', 'lisi']
# 删除索引0-2的切片
del l[0:2]
print(l) # ['zhaoliu', 'lisi']
# 删除不存在的索引
del l[100]
print(l) # IndexError: list assignment index out of rangeINFO
适用于删除特定位置或范围内的元素。
python
l = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi']
# 删除lisi
new_l = [element for element in l if element != 'lisi']
print(new_l) # ['zhangsan', 'wangwu', 'zhaoliu']INFO
适用于需要删除多个相同元素或复杂条件删除的场景。
python
l = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi']
# 删除lisi
new_l = list(filter(lambda x: x != 'lisi', l))
print(new_l) # ['zhangsan', 'wangwu', 'zhaoliu']INFO
适用于需要删除多个相同元素或复杂条件删除的场景,尤其是处理大数据集时。

评论与讨论
如果这篇文章对你有帮助,或你对实现细节有不同判断,可以直接在这里继续讨论。