我从数据库(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 = {{{}}}
但它不起作用。
答案 0 :(得分:1)
您可以使用collections.defaultdict
:
>>> 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