我是靠谱客的博主 自信花瓣,这篇文章主要介绍python解析n叉树且不规则深度结构的树类型嵌套字典求根节点到叶子节点的路径,现在分享给大家,希望可以做个参考。

python解析n叉树且不规则深度结构的树类型嵌套字典求根节点到叶子节点的路径

a =  {
  "a": {
    "b": {
      "c": {
        "d1": "",
        "d2": "",
        "d3": {
            "e":'',
            "e1": '',
        }
      },
      "c1": {
          'd1':''
      },
    }
  },
  'a1': {
    "b1": '',
    'b2': ''
  }
}

# 结果列表
[
    ['a', 'b', 'c', 'd3', 'e'],
    ['a', 'b', 'c', 'd3', 'e1'],
    ['a', 'b', 'c', 'd1'],
    ['a', 'b', 'c', 'd2'],
    ['a', 'b', 'c1', 'd1'],
    ['a1', 'b1'],
    ['a1', 'b2']
]


l12_list = []   # 反回的数据
qwq = []        # 记录节点层级
def dg(data):
    global qwq
    l1_list = []
    for i in data:
        if isinstance(data[i], dict):
            qwq.append(i)
            dg(data[i])
            qwq = qwq[:-1]
        else:
            l1_list.append(i)
    if l1_list:
        for qwq1_i in l1_list:
            l12_list.append(qwq+[qwq1_i])
    return l12_list

print(dg(a))


# [['a', 'b', 'c', 'd3', 'e'], ['a', 'b', 'c', 'd3', 'e1'], ['a', 'b', 'c', 'd1'], ['a', 'b', 'c', 'd2'], ['a', 'b', 'c1', 'd1'], ['a1', 'b1'], ['a1', 'b2']]

最后

以上就是自信花瓣最近收集整理的关于python解析n叉树且不规则深度结构的树类型嵌套字典求根节点到叶子节点的路径的全部内容,更多相关python解析n叉树且不规则深度结构内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(142)

评论列表共有 0 条评论

立即
投稿
返回
顶部