Python的treelib构建多叉树——根据id快速建树

def build_tree(temps,temps_id):
    tree = Tree()
    tree.create_node('ROOT','root')  # root node
    len_temps = len(temps)
    for yy in range(len_temps):
        len_temp = len(temps[yy])
        for xx in range(len_temp):
            if xx == 0:
                try:
                    tree.create_node(temps[yy][xx],temps_id[yy][xx],parent="root")
                except Exception as e:
                    'jump'
            else:
                try:
                    tree.create_node(temps[yy][xx],temps_id[yy][xx],parent= temps_id[yy][xx-1])
                except Exception as e:
                    'jump out'
    return tree

举例:

>>> temps_id = encoding_tree_node_id(temps)
>>> tree = build_tree(temps,temps_id)
>>> tree.show()
ROOT
├── sa1
│   ├── sa3
│   │   ├── sa5
│   │   ├── sa6
│   │   └── sa7
│   │       └── sa8
│   └── sa5
│       └── sa8
└── sa7
    └── sa2
        ├── sa3
        │   ├── sa5
        │   └── sa6
        └── sa4

你可能感兴趣的:(Python)