遍历嵌套字典树

时间:2018-02-08 20:39:47

标签: python python-3.x dictionary

下面是树作为字典:

tree = {'X1': {0: {'X2': {0: 0, 1: {'X3': {0: 1, 1: 0}}}}, 1: {'X3': {0: 1, 1: 0}}}} 

如何在python中遍历此树,仅print遍历节点?例如X1,X2 ......

1 个答案:

答案 0 :(得分:1)

如果值是嵌套的dict,则需要逐步执行dict的每个级别,打印出所有匹配的键,然后调用相同的函数(递归):

tree = {'X1': {0: {'X2': {0: 0, 1: {'X3': {0: 1, 1: 0}}}}, 1: {'X3': {0: 1, 1: 0}}}}

def recurse(d):
  for x, v in d.items():
    if str(x).startswith('X'):
        print(x)
    if isinstance(v, dict):
      recurse(v)

recurse(tree)