举一些treelib库常用的函数,具体的参考 Useful APIs
from treelib import Node, Tree
tree = Tree()
tree.show()
# # 取得根节点到每一个叶节点的标识路径,返回值为标识list列表的list列表(二重列表),根节点不省略
tree.paths_to_leaves()
# # 建议使用remove_node来删除节点,因为remove_subtree将消耗内存以存储新树(返回值)
# # 移除以nid标识的节点,同时移除其所有的子节点 ,返回值为移除的节点个
tree.remove_node( identifier)
# # 移除以nid标识为根节点的一棵子树 ,返回值为移除该子树的树,nid不存在则返回一个空树
remove_subtree(self, nid)
# # 返回所有叶节点对象list列表,若给定root则返回以root为根节点的树的所有叶节点对象list列表
leaves(self, root=None)
# # 返回以nid为标识(identifier)子节点,nid不存在则返回list为空
children(self, nid)
# # 返回以nid为标识(identifier)父节点,nid不存在则返回list为空
parent(self, nid)
tree.create_node('ROOT','root') # root node
tree.create_node(temps[yy][xx],temps_id[yy][xx],parent="root")
建树最主要的就是建立节点的id,即节点id命名的问题,节点id具有唯一性 。下文介绍根据list快速建树。