问题描述
每个“树节点”有 3 个属性,都是字符串。
但是,我无法添加节点。
我当前的代码:
testlist = []
for elem in mytree1.iter():
testlist.append(treenode(elem.tag,elem.attrib,elem.text))
G = Graph()
for x in testlist:
G.add_vertices(x)
我得到的错误:
an integer is required (got type treenode)
我应该如何使用列表向 igraph 添加节点?
解决方法
您可以使用 add_vertex
方法添加单个节点并将新添加的节点作为 Vertex
对象取回,然后可用于设置其属性。
G = graph()
for x in testlist:
v = G.add_vertex()
v["tag"] = x.tag
v["attrib"] = x.attrib
v["text"] = x.text
Here 解释了 igraph 为何以这种方式工作。