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

Python中如何快速创建嵌套字典并自动插入元素?

简化嵌套字典的赋值操作

当然可以简化,不用手动判断内层字典是否存在,Python有几种原生方案能实现自动创建嵌套结构并赋值:

方法1:使用字典的setdefault()方法

setdefault()方法会先检查指定key是否存在:如果存在就返回对应的值;如果不存在,就将key与指定的默认值关联后返回这个默认值。刚好适配你的场景,一行代码就能替代原有的判断逻辑:

key2 = 1
self.mydict = {1:{}}
# 直接用setdefault处理,无需if-else判断
self.mydict.setdefault(key1, {})[key2] = None

方法2:使用collections.defaultdict

如果你的代码中经常需要这种嵌套字典的自动创建,推荐用collections模块里的defaultdict,它能在访问不存在的key时自动生成指定类型的对象(这里是内层字典):

首先导入模块:

from collections import defaultdict

然后初始化字典时指定工厂函数为dict:

key2 = 1
# 初始化时用defaultdict,自动生成内层空字典
self.mydict = defaultdict(dict)
# 直接赋值即可,无需任何判断
self.mydict[key1][key2] = None

如果需要把defaultdict转回普通字典,只需要调用dict(self.mydict)就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 14:02:13