繁体   English   中英

Python-如何将父级子级转换为嵌套词典

[英]Python - how to convert parent child into a nested dictionary

我有一个父子字典,看起来像这样,其中键是child,0是根节点。

node[0]=[{"parms":{"meta1":"foo"},"name":"RootNoe"}]
node[1]=[{"parent":0,"data":{"parms":{"meta2":"bar"},"name":"country"} }]
node[2]=[{"parent":1,"data":{"parms":{"meta3":"baz"},"name":"day"} }]

我需要创建一个看起来像这样的嵌套json对象:

test = {
        "params": {"parms":{"meta1":"foo"},
        "name": "RootNode", 
         "children": [ 
                     {
                     "parms":{"meta2":"bar"},
                      "name":"country",
                      "children": [
                                 {"parms":{"meta3":"baz"},
                                  "name":"day","children": []}
                                 ]
            }]  
        }

我该如何在python中做到这一点?

您可以根据循环中的定义构造树。

for element in node:
    if 'parent' in element:
        if 'children' not in node[element['parent']]:
            node[element['parent']]['children'] = []
        node[element['parent']]['children'].append(element)
        del element['parent']

test = node[0]

children需要在场才能工作,但我希望您能理解。 另请注意,这会修改node序列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM