はじめに
NetworkXで、辺の繋がりだけでなく、辺の重みや特殊なプロパティを設定したい。
対処法
import networkx as nx
import random
# 適当に生成
G = nx.random_tree(10)
# Gのエッジ集合を取り出す
for (u, v) in G.edges():
G.edges[(u, v)]['weight'] = random.randint(3, 10)
NetworkXの各辺(u,v)(タプル)は
G.edges[(u, v)]
で取り出すことができます。つまり、タプルをキーとする辞書になっています。
この辺G.edges[(u,v)]は辞書となっているため
weight
をキーとして、そこに重さを入れればいいです。
他にも
love
, long
など入れようと思えば入れることができます。