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

Python删除字典键时出现KeyError: 'Not Found'报错如何解决

问题排查与解决

报错根因

你代码里的result是color对应的值black,而cars字典的键是brand、model、year、color,不存在名为black的键,因此执行del cars[result]时直接抛出KeyError。

现有代码的其他问题

  • 循环逻辑冗余:遍历cars_copy的键时完全没有用到循环变量x,每次循环都会重复读取color的值、尝试执行删除操作
  • 逻辑目标不匹配:你要删除color对应的键值对,操作对象应该是color这个键,而非键对应的值

正确实现

方案1:直接删除指定键(无需遍历)

如果明确要删除color键,直接调用pop方法即可,不存在对应键时也不会报错:

cars = {
    "brand": "Tesla",
    "model": "Model S Plaid",
    "year":  2021,
    "color": "black"
}

# 第二个参数为默认值,键不存在时不会抛出异常
cars.pop("color", None)
print(cars)

方案2:遍历判断删除(适用于多条件筛选删除场景)

如果需要通过遍历筛选符合条件的键再删除,可以直接遍历原字典键的列表副本,避免遍历过程中修改原字典导致的异常:

cars = {
    "brand": "Tesla",
    "model": "Model S Plaid",
    "year":  2021,
    "color": "black"
}

for key in list(cars.keys()):
    # 可自定义删除条件,比如这里判断键为color就删除
    if key == "color":
        del cars[key]
print(cars)

内容的提问来源于stack exchange,提问作者Code with Tony

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 23:54:01