Я пытаюсь вернуть расстояние между одним узлом и списком других узлов, используя igraph. Это прекрасно работает, когда я использую один вес. Но я хочу добавить разные веса к ребрам и иметь возможность использовать разные значения веса в графике.
работает нормально, если передать один вес:
nxG = nx.MultiDiGraph()
nxG.add_weighted_edges_from(edges)
g = ig.Graph.from_networkx(nxG)
g.distances(source=nodes, weights='weight')[0]
Но если я добавлю несколько весов к краям в виде словаря, как показано ниже:
{'weight': 1, 'weight2': 5, 'weight3': 10}
Я могу получить к ним доступ напрямую через:
print(g.es['weight'][0]['weight2']) = 5
Но когда я вставляю тот же вызов в функцию, я возвращаю ошибку?
g.distances(source=nodes, weights=g.es['weight'][0]['weight2'])
Выход:
TypeError: unhandled type"
Подробнее здесь: https://stackoverflow.com/questions/790 ... aph-python