python 字典 删除指定
1. 删除指定键的元素
python
d = {'a': 1, 'b': 2, 'c': 3}
del d['b'] 删除键为 'b' 的元素
print(d) 输出: {'a': 1, 'c': 3}
python
d = {'a': 1, 'b': 2, 'c': 3}
value = d.pop('b') 删除键 'b' 并返回值 2
print(d) 输出: {'a': 1, 'c': 3}
处理键不存在的情况
value = d.pop('d', None) 返回 None,不报错
2. 删除符合条件的多个元素
python
d = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
for key in list(d.keys): 转换为列表避免 RuntimeError
if d[key] % 2 == 0:
del d[key]
print(d) 输出: {'a': 1, 'c': 3}
python
d = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
d = {k: v for k, v in d.items if v % 2 != 0}
print(d) 输出: {'a': 1, 'c': 3}
3. 清空字典
python
d.clear
print(d) 输出: {}
关键区别
| 方法 | 特点 |
||-|
| `del d[key]` | 直接删除键值对,键不存在时报错。 |
| `d.pop(key)` | 删除键值对并返回值,可设置默认值避免错误。 |
| 遍历删除 | 适用于批量删除符合条件的元素,需先转换 `d.keys` 为列表。 |
| 字典推导式 | 创建新字典,适合保留部分元素,原字典引用会被替换。 |
根据具体需求选择合适的方法,如直接删除单个键用 `del` 或 `pop`,批量删除用遍历或字典推导式。