1. 程式人生 > >Python的treelib構建多叉樹——根據id快速建樹

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