您可以使用 dijkstra 算法来计算距离。
这是使用networkx的一种方法
In [28]: import networkx as nx
创建一个带有节点 a, b, c 的 grpah,其中链接是 a, b 和 'a, c'
In [29]: g = nx.Graph()
In [30]: g.add_edge('a', 'b')
In [31]: g.add_edge('a', 'c')
然后用nx.dijkstra_path_length()求b and c之间的距离
In [32]: nx.dijkstra_path_length(g, 'b', 'c')
Out[32]: 2
另外,您可以使用dijkstra_path() 找到路径轨迹
In [33]: nx.dijkstra_path(g, 'b', 'c')
Out[33]: ['b', 'a', 'c']
您也可以使用shortest_path() 来表示b and c 之间的路径
In [34]: nx.shortest_path(g, source='b',target='c')
Out[34]: ['b', 'a', 'c']