You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python字典类中删除不存在的键会产生何种结果?

执行del buff[k]删除字典中不存在的键会触发KeyError错误

当你尝试用del语句删除Python字典里不存在的键时,绝对不会直接跳过该行,而是会立刻触发一个KeyError异常,直接中断程序的执行——除非你提前用异常捕获逻辑处理了这个错误。

举个实际的代码例子:

buff = {"name": "Alice", "age": 30}
del buff["height"]  # "height"并不是buff中的键

运行这段代码后,Python会抛出类似这样的错误提示:

KeyError: 'height'

如果不想让程序因为这个场景报错中断,有两种常用的处理方式:

  • 提前检查键是否存在:
buff = {"name": "Alice", "age": 30}
k = "height"
if k in buff:
    del buff[k]
# 键不存在时,代码会跳过del语句,不会有任何报错
  • 使用字典的pop()方法(支持传入默认值):
buff = {"name": "Alice", "age": 30}
buff.pop("height", None)  # 键不存在时返回指定的默认值None,且不会修改字典

内容的提问来源于stack exchange,提问作者Ninja Bug

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:24:28