我需要存储然后操作(添加新节点、搜索等)一棵树,其中每个节点都是一对 x,y 坐标。我发现 ete2 模块可以处理树,但我不知道如何将节点保存为元组或坐标列表。ete2可以吗?
编辑:
我按照这里的教程http://pythonhosted.org/ete2/tutorial/tutorial_trees.html#trees 创建一个简单的树:
t1 = Tree("(A:1,(B:1,(E:1,D:1):0.5):0.5);" )
其中 A, B, C 是节点的名称,数字是距离。
或者
t2 = Tree( "(A,B,(C,D));" )
我不需要名称或距离,而是需要一棵元组或列表树,例如:
t3 = Tree("([12.01, 10.98], [15.65, 12.10],([21.32, 6.31], [14.53, 10.86]));")
但是最后一个输入返回语法错误,在关于 ete2 的教程中我找不到任何类似的例子。作为一个变体,我认为我可以将坐标保存为属性,但属性存储为字符串。我需要使用坐标进行操作,每次从字符串到浮点数遍历它都很棘手,反之亦然。