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

如何向Python字典添加嵌套数据?解决赋值时的KeyError问题

问题原因与解决方法

问题根源

你触发KeyError的核心原因是:空字典temp中不存在"conf"这个键,Python字典不支持直接跳级给嵌套层级的键赋值。当你执行temp["conf"]["data"]["network"] = ...时,第一步访问temp["conf"]就会失败,因为这个键根本没创建,自然会抛出KeyError。

解决方法

下面是几种可行的修复方式:

  • 逐层手动创建嵌套结构
    先依次创建每一层的字典,再给最内层的键赋值:

    import requests
    
    temp = {}
    # 先创建第一层键"conf"
    temp["conf"] = {}
    # 创建"conf"下的"data"键
    temp["conf"]["data"] = {}
    # 最后给"network"赋值
    temp["conf"]["data"]["network"] = requests.get(url).json()
    
  • 使用collections.defaultdict自动生成嵌套字典
    通过递归定义的defaultdict,可以自动创建不存在的嵌套层级:

    import requests
    from collections import defaultdict
    
    def nested_defaultdict():
        return defaultdict(nested_defaultdict)
    
    temp = nested_defaultdict()
    temp["conf"]["data"]["network"] = requests.get(url).json()
    # 若需转为普通字典,执行 dict(temp) 即可
    
  • 使用dict.setdefault()方法链式创建
    setdefault会在键不存在时创建对应层级的字典,存在则返回已有值:

    import requests
    
    temp = {}
    temp.setdefault("conf", {}).setdefault("data", {})["network"] = requests.get(url).json()
    

内容的提问来源于stack exchange,提问作者Veeresh Shenoy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 17:54:54