【发布时间】:2018-10-08 17:08:28
【问题描述】:
使用 Python igraph 库,我有一个表示道路网络的有向图,每个顶点之间的距离(坐标)作为权重。一个顶点对之间很可能有两条或多条边,具有不同的权重。我需要通过查询顶点 ID 从图中检索这些权重,例如示例图:
import igraph as ig
g = ig.Graph(directed=True)
g.add_vertices(4)
edges = [(0, 1), (1, 2), (1, 2), (2, 3)]
g.add_edges(edges)
g.es[:]["dist"] = [1, 2, 3, 4]
我知道我可以得到一个边的id,然后属性如下,但这似乎只能找到最后添加的例如:
g.get_eid((0, 1)) # returns 0
g.get_eid((1, 2)) # returns 2
因此,在 1 和 2 之间有两条边,但 get_eid 只返回一条边——我需要知道这两条边,然后查询边属性并返回权重,以便从图中选择正确的最小距离,就像以前一样由距离加权最短路径查询使用。有没有办法用 igraph 做到这一点?
【问题讨论】: