如果从源到目的地有多条路径,如何使用NetworkX获取所有这些路径?请注意,这是一个简化的示例,我想实际使用nx.all_pairs_shortest_path()函数并获取任意两个节点之间的所有最短路径。
代码:
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 :(得分:0)
all_shortest_paths
执行您之后的操作,但它是一个生成器。如果你想要一个列表,那就把list
放在它周围
shortest_path_generator = nx.all_shortest_paths(G,0,3)
list(shortest_path_generator)