Документация Multigraph.add_edge указывает, что вы должны использовать аргумент key
для уникальной идентификации ребер в мультиграфе.Вот пример:
>>> import networkx as nx
>>> G = nx.MultiGraph()
>>> G.add_edge(1, 2, key='xyz', weight=2)
>>> G.add_edge(1, 2, key='abc', weight=1)
>>> G.edges(data=True)
[(1, 2, {'weight': 2}), (1, 2, {'weight': 1})]
Теперь, чтобы обновить ребро с ключом xyz
, просто передайте этот параметр еще раз:
>>> G.add_edge(1, 2, key='xyz', weight=7)
>>> G.edges(data=True)
[(1, 2, {'weight': 7}), (1, 2, {'weight': 1})]
Чтобы прочитать предыдущее значение, вы можете использовать get_edge_data как это:
>>> G.get_edge_data(1, 2, key='xyz')
{'weight': 7}