Python 使用嵌套字典文本初始化变量

Python 使用嵌套字典文本初始化变量,python,Python,我从数据库(CoachDb)中获得未排序的子对象的普通列表,并希望使用字典对对象树中的对象进行排序 我的对象树如下所示: object.subobject.subsubobject 每个对象类型在对象级别中都有一个唯一的Id。 我的想法是从文档中获取ID,并在对象树中插入对象: oid = doc.getId("object") soid = doc.getId("subobject") ssoid = doc.getId("subsubobject") objtree[oid][soid]

我从数据库(CoachDb)中获得未排序的子对象的普通列表,并希望使用字典对对象树中的对象进行排序

我的对象树如下所示:

object.subobject.subsubobject
每个对象类型在对象级别中都有一个唯一的Id。 我的想法是从文档中获取ID,并在对象树中插入对象:

oid = doc.getId("object")
soid = doc.getId("subobject")
ssoid = doc.getId("subsubobject")

objtree[oid][soid][ssoid] = doc
这样行吗? 如果是,我应该如何初始化objtree变量以使用这种嵌套索引

我试过了

objtree = {{{}}}
但它不起作用。

您可以使用:

>>从集合导入defaultdict
>>>objtree=defaultdict(lambda:defaultdict(dict))
>>>对象树[1][2][3]=1
>>>objtree
defaultdict(,
{1:defaultdict(,{2:{3:1}}})
>>>对象树[1][2][3]
1.
>>> from collections import defaultdict
>>> objtree = defaultdict(lambda: defaultdict(dict))
>>> objtree[1][2][3] = 1
>>> objtree
defaultdict(<function <lambda> at 0x99a0ed4>,
            {1: defaultdict(<type 'dict'>, {2: {3: 1}})})
>>> objtree[1][2][3]
1