我正在使用contract_vertices
合并图中的节点,然后在图上调用simplify
,但这样做会导致分段错误。我不确定我做错了什么。下面是重现错误的代码:
from igraph import summary, read, Graph
g = Graph()
g.add_vertices(5)
g.vs["name"] = ["1","2","3","4","5"]
g.add_edge("1","2")
merge_vertex_list = [1,1,3,3,3]
g.contract_vertices(merge_vertex_list,"first")
g.simplify()
我得到的错误是:
Segmentation fault: 11
注意:当我调用contract_vertices
而不使用第二个参数,即combine_attrs
参数时,它工作正常。你知道吗
我找到了原因。我传递的用于合并数组的列表应该包含连续整数,这将形成顶点的新索引。在上面的例子中,我传递的是
[1,1,3,3,3]
,当它变为[0,0,1,1,1]
时,效果很好。我仍然认为它应该显示一个有意义的错误信息。你知道吗相关问题 更多 >
编程相关推荐