我有一些产品需要分配类别。我已经完成了一些嵌套字典技术,但只是想知道使用树结构的有效方法。
样本类别如下图所示,显示的深度也是树的最大深度。
我想在树中搜索元素的名称,将其作为字符串使用它作为子字符串,并存储在临时列表中(如果存在)。
例如:如果SUV存在,我将在字符串中搜索MUV,SUV,Sedan单词我会存储更新temp = [Car,SUV]。之后,与SUV节点类似地遍历,直到树的结尾。所以最后的列表看起来类似于[Car,SUV,Window,XYZ]
我对这个数据结构完全陌生,因此需要一些关于定义这个4级树结构并有效访问它的建议。
我要求有效的方法,因为这个过程将在程序中重复至少30000次。
答案 0 :(得分:2)
看看ete2 python package,他们的树是根据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脚本
相关问题