Python的treelib構建多叉樹——函式介紹
阿新 • • 發佈:2018-11-08
舉一些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快速建樹。