python字典删除key
1. 使用 `del` 语句
直接删除指定键,若键不存在会引发 `KeyError`。
python
my_dict = {'name': 'Alice', 'age': 30, 'city': 'Paris'}
删除键 'age'
del my_dict['age']
print(my_dict) 输出: {'name': 'Alice', 'city': 'Paris'}
若键不存在会报错(需捕获异常)
try:
del my_dict['country']
except KeyError:
print("键不存在")
2. 使用 `pop` 方法
删除键并返回对应的值,可设置默认值避免 `KeyError`。
python
my_dict = {'name': 'Alice', 'age': 30, 'city': 'Paris'}
删除键 'age' 并获取值
age = my_dict.pop('age')
print(age) 输出: 30
print(my_dict) 输出: {'name': 'Alice', 'city': 'Paris'}
键不存在时返回默认值
country = my_dict.pop('country', '不存在')
print(country) 输出: '不存在'
3. 字典推导式
创建新字典,排除指定键(原字典不变)。
python
my_dict = {'name': 'Alice', 'age': 30, 'city': 'Paris'}
删除多个键(生成新字典)
keys_to_remove = {'age', 'city'}
new_dict = {k: v for k, v in my_dict.items if k not in keys_to_remove}
print(new_dict) 输出: {'name': 'Alice'}
直接修改原字典(重新赋值)
my_dict = {k: v for k, v in my_dict.items if k != 'age'}
4. 批量删除键
遍历待删除的键列表逐一删除。
python
my_dict = {'name': 'Alice', 'age': 30, 'city': 'Paris'}
keys_to_remove = ['age', 'city']
方法一:循环删除
for key in keys_to_remove:
if key in my_dict:
del my_dict[key]
方法二:使用 pop 忽略不存在的键
for key in keys_to_remove:
my_dict.pop(key, None)
print(my_dict) 输出: {'name': 'Alice'}
根据具体需求选择最合适的方法,确保代码的效率和安全性。