Как я могу получить вес ненаправленного ребра в networkx? - PullRequest
1 голос
/ 30 мая 2020
import networkx as nx 

G=nx.Graph()

connections = [(0, 1, 4), (0, 7, 8), (1, 7, 11),(1, 2, 8), (2, 8, 2), (7, 8, 7), 
               (7, 6, 1), (8, 6, 6), (2, 5, 4), (6, 5, 2), (2, 3, 7), (3, 5, 14),
               (3, 4, 9), (5, 4, 10), ]

G.add_weighted_edges_from(connections)

В этом коде, как я могу получить вес между двумя узлами? (т.е.) 5 и 4?

1 Ответ

1 голос
/ 30 мая 2020

Для одного ребра:

G.edges[5,4]['weight']
> 4

Для всех ребер одного узла:

G.edges(5, data=True)
> EdgeDataView([(5, 2, {'weight': 4}), (5, 6, {'weight': 2}), (5, 3, {'weight': 14}), (5, 4, {'weight': 10})])

Для всех ребер:

for u, v, w in G.edges(data=True):
    print(u, v, w['weight'])

> 0 1 4
> 0 7 8
> 1 7 11
> 1 2 8
> 7 8 7
> 7 6 1
> 2 8 2
> 2 5 4
> 2 3 7
> 8 6 6
> 6 5 2
> 5 3 14
> 5 4 10
> 3 4 9
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...