С библиотекой Python igraph у меня есть ориентированный граф, представляющий сеть дорог, с расстоянием между каждой вершиной (координатами) в качестве веса.Вполне возможно, что между парой вершин может быть два или более ребер с разными весами.Мне нужно извлечь эти веса из графика, запросив идентификаторы вершин, например, пример графика:
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]
Я знаю, что могу получить идентификатор ребра, а затем атрибуты, как показано ниже, но это только кажетсячтобы найти последнее добавленное, например:
g.get_eid((0, 1)) # returns 0
g.get_eid((1, 2)) # returns 2
Итак, есть два ребра между 1 и 2, но get_eid возвращает только одно - мне нужно знать оба, чтобы затем запросить атрибуты ребра и вернуть веса, чтобы выбрать правильные минимальные расстояния на графике, которые использовались для взвешенного по расстоянию запроса кратчайшего пути.Есть ли способ сделать это с помощью igraph?