1. 程式人生 > >Python的treelib構建多叉樹——函式介紹

Python的treelib構建多叉樹——函式介紹

舉一些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快速建樹。