[英]What is the efficient way to define and traverse tree in python?
我有一些產品需要分配類別。 我已經介紹了一些嵌套字典技術,但只是想知道使用樹結構的有效方法。
樣本類別如下圖所示,顯示的深度也是樹的最大深度。
我想在樹中搜索元素的名稱,將其作為字符串使用它作為子字符串,並存儲在臨時列表中(如果存在)。
例如:如果SUV存在,我將在字符串中搜索MUV,SUV,Sedan單詞我將存儲更新temp = [Car,SUV]。 之后,與SUV節點類似地遍歷,直到樹的結尾。 所以最后的列表看起來類似於[Car,SUV,Window,XYZ]
我對這個數據結構完全陌生,因此需要一些關於定義這個4級樹結構並有效訪問它的建議。
我要求有效的方法,因為這個過程將在程序中重復至少30000次。
看看ete2 python包 ,它們的樹是根據Newick樹格式定義的(參見wiki:Newick以獲得直覺)
定義一棵樹
from ete2 import Tree
t = Tree("(A,(B,(E,D)));" ) # Loads a tree structure from a newick string. The returned variable ’t’ is the root node for the tree.
print t
/-A
--|
| /-B
\-|
| /-E
\-|
\-D
穿越樹 (更多信息)
for node in t.traverse("postorder"):
# Do some analysis on node
print node.name
一個工作樹遍歷Python腳本
相關問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.