在NetworkX中显示多个相等长度的路径

时间:2016-07-26 22:59:14

标签: python networkx shortest-path

如果从源到目的地有多条路径,如何使用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]]

1 个答案:

答案 0 :(得分:0)

all_shortest_paths执行您之后的操作,但它是一个生成器。如果你想要一个列表,那就把list放在它周围

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