2016-07-26 35 views
0

ソースからデスティネーションまで複数のパスがある場合、NetworkXを使用してこれらのパスをすべて取得するにはどうすればよいですか?これは単純な例であり、実際にはnx.all_pairs_shortest_path()関数を使用して、任意の2つのノード間で最短のパスをすべて取得したいとします。NetworkXで同じ長さの複数のパスを表示

コード:私は取得

import networkx as nx 
G = nx.Graph([(0, 1), (0, 2), (1, 3), (2, 3)]) 
nx.draw(G) 
print(nx.shortest_path(G,0,3)) 

が出力:

[0, 1, 3] 

私が欲しいの出力:

[[0, 1, 3], [0, 2, 3]] 

答えて

0

all_shortest_pathsあなたが後にしているものを行いますが、それは発電機です。リストが必要な場合は、listを入れてください。

shortest_path_generator = nx.all_shortest_paths(G,0,3) 
list(shortest_path_generator) 
関連する問題