索引顶点nam

2024-10-06 13:28:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是pythonigraph版本0.6.5。我有点不清楚在下面的代码中:

g = igraph.Graph(directed=True)
g.add_vertex('A')
g.add_vertex('B')
g.add_vertex('A')
print g.vcount()

这使我的顶点计数为3,即使顶点名称“A”是重复的,为什么两个顶点名称“A”都被视为2个不同的顶点?如何索引顶点名称?你知道吗


Tags: 代码版本名称addtruegraph计数vertex
1条回答
网友
1楼 · 发布于 2024-10-06 13:28:25

运行g.add_vertex('A')时,igraph不会将"A"作为顶点添加到图中-它会添加一个全新的顶点,然后将"A"分配给它的name属性,但名称在igraph中不必是唯一的。内部顶点由从0到| V |-1的整数表示,名称只是攻击顶点的属性。因此,如果要确保不创建具有相同名称的重复顶点,则需要检查是否存在具有相同名称的顶点:

try:
    vertex = g.vs.find("A")
except ValueError:
    g.add_vertex("A")

igraph特别处理namevertex属性,因为它总是由一个字典支持,该字典将顶点名称映射到具有此名称的第一个顶点,因此g.vs.find("A")是一个快速操作(无需扫描整个图)。你知道吗

相关问题 更多 >