pickle からグラフをロードした後、最初に目的の色のすべてのエッジを見つけることができます (ドキュメントを参照)。
be = []
for e in G.edges_iter():
if G.edge[e[0]][e[1]]['color'] == 'blue': # or G[e[0]][e[1]]['color']
be.append(e)
またはリスト内包表記で:
be = [(n1, n2) for n1, n2 in G.edges_iter() if G.edge[n1][n2]['color'] == 'blue']
random
次に、モジュールの助けを借りてランダムなエッジを選択します。たとえばchoice
、 またはsample
:
import random
# Select one random edge...
random_blue_edge = random.choice(be)
# ... or several random edges, 3 in this case
random_blue_edges = random.sample(be, 3)
ただし、またはbe
に電話する前に、 を確認してください。を呼び出したときにシーケンスが空の場合はを取得し、サンプリングしたい数よりもシーケンスが短い場合はを取得します。random.choice
random.sample
random.choice
IndexError
random.sample
ValueError