NetworkX 图中的最短路径与最短路径节点之间的边长不同

Shortest Path in a NetworkX graph is not same as length of edge between shortest path nodes

我有一个带有两条边的 NetworkX 图,代码如下:

import networkx as nx
GH = nx.Graph()
GH.add_edge(0, 1, len=3)
GH.add_edge(0, 2, len=7.5)
GH.add_edge(1,2,len=2)

我想找到节点 0 和节点 1 之间的最短路径长度。我希望它是 3,但它会变成 1。用于此的代码是:

nx.shortest_path_length(GH,0,1)

我知道我在第一段代码中设置了一个边缘属性 'len',因此它可能不会改变边缘长度。但是有什么方法可以达到我期望的结果吗?

添加权重属性

nx.shortest_path_length(GH,0,2, weight='len')

获得预期结果。