Python 列表删除元素全攻略:remove、pop、clear 与 del 详解
Python 列表删除元素四大内置机制
Python list 存储有序异构元素。修剪序列时,四大内置工具各司其职:
- list.remove() —— 删除首个匹配值
- list.pop() —— 按索引删除并返回该值
- list.clear() —— 清空整个列表
- del —— 切片删除或单索引删除
示例列表
my_list = ['Guru', 50, 11.50, 'Siya', 50, ['A', 'B', 'C']]
索引从 0 开始:
- 0:
'Guru' - 1:
50(int) - 2:
11.50(float) - 3:
'Siya' - 4:
50(重复) - 5:
['A', 'B', 'C']
1. list.remove()
删除首个匹配值,值不存在抛 ValueError。
my_list.remove(50) # 删除第一个 50
my_list.remove('Siya') # 删除第一个 'Siya'
要点:
- 仅删除首个匹配,重复项保留
- 参数必须与元素数据类型完全一致
- 返回
None
2. list.pop()
按索引删除并返回元素。无索引时删除最后一个。
removed = my_list.pop(2) # 删除索引 2 元素 last = my_list.pop() # 删除最后一个元素
注意:
- 索引从 0 开始,负索引从末尾计数
- 越界抛
IndexError - 返回被删除元素
3. list.clear()
原地清空列表。
my_list.clear()
调用后 my_list 为空列表 []。
4. del 关键字
删除单元素或切片。
del my_list[0] # 删除首元素 del my_list[2:5] # 删除索引 2、3、4
也可删除整个变量:del my_list。
实战场景
- 删除首元素:
my_list.pop(0)或del my_list[0] - 删除所有指定值:
my_list = [x for x in my_list if x != target] - 清空列表以便复用:
my_list.clear()
常见陷阱
remove()作用于不存在值触发ValueErrorpop()负索引易误删末尾元素del删除变量后再访问抛NameError
总结表
| 方法 | 说明 |
|---|---|
list.remove(value) | 删除首个匹配元素 |
list.pop(index) | 按索引删除并返回元素 |
list.clear() | 清空整个列表 |
del list[index] / del list[start:stop] | 删除单元素或切片 |
Python
- 精通Python数据类型:实战指南
- 精通Python运算符:全面指南
- 精通Python Pass语句:实战指南
- 精通Python函数参数:位置、关键字与默认参数
- 精通 Python 字典:创建、操作与进阶技巧
- 精通 Python range() 函数:从基础到高级用法
- Python 列表完全指南:增删改查、排序、推导式实战
- Python 计算平均值:从循环到 NumPy 的四种实战方法
- Python list.count() 专家指南:语法、示例与性能解析
- Python 列表去重完全指南:七种方法与最佳实践
- Python list.index() 详解:查找元素位置的实用指南与示例
- Python 列表完全指南:创建、访问、操作与内置方法详解