在python的igraph中通过属性查找在节点之间形成边

在python的igraph中通过属性查找在节点之间形成边,python,igraph,Python,Igraph,我有一个图形g,它有一个与每个节点关联的“name”属性。我想通过名称属性调用两个节点,并在它们之间创建一条边 from igraph import * g = Graph(4) print g IGRAPH UN-- 4 0 -- + attr: name (v) g.vs["name"] [10, 39, 76, 6] 然而,当我尝试像 g.add_edge(g.vs[76], g.vs[39]) 我得到一个超出范围的顶点索引。如果我能将名称与索引位置匹配,只要速度快,我就会很乐意

我有一个图形
g
,它有一个与每个节点关联的“name”属性。我想通过名称属性调用两个节点,并在它们之间创建一条边

from igraph import *
g = Graph(4)

print g
IGRAPH UN-- 4 0 --
+ attr: name (v)

g.vs["name"]
[10, 39, 76, 6]
然而,当我尝试像

g.add_edge(g.vs[76], g.vs[39]) 
我得到一个超出范围的顶点索引。如果我能将名称与索引位置匹配,只要速度快,我就会很乐意使用通过索引调用节点的解决方案,因为我的图可能会变得相当大,我不知道这会变得有多慢


理想情况下,我只需按节点的“名称”属性查找节点,并在它们之间形成一条边

正如您可能猜到的,您正在根据名称在名称向量中的位置为名称编制索引。可以将名称与其在名称向量中的位置相匹配:

v1_position = g.vs['name'].index(76)
v2_position = g.vs['name'].index(39)

g.add_edge(v1_position, v2_position)