2016-07-26 27 views
0

Wenn mehrere Pfade von einer Quelle zum Ziel vorhanden sind, wie bekomme ich diese ALLE diese Pfade mit NetworkX? Beachten Sie, dass dies ein vereinfachtes Beispiel ist. Ich möchte die Funktion nx.all_pairs_shortest_path() verwenden und alle kürzesten Pfade zwischen zwei beliebigen Knoten abrufen.Mehrere Pfade mit gleicher Länge in NetworkX anzeigen

Code:

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)) 

Ausgang I Get:

[0, 1, 3] 

Ausgang I Want:

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

Antwort

0

all_shortest_paths tut, was Sie nach, aber es ist ein Generator. Wenn Sie eine Liste möchten, dann setzen Sie list um es

shortest_path_generator = nx.all_shortest_paths(G,0,3) 
list(shortest_path_generator)