You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将NetworkX最短路径节点列表转换为距离值以计算平均值

实现方案

方案1:修改原始生成逻辑,一步生成距离字典(推荐)

直接用networkx内置的nx.shortest_path_length()方法替换原来的nx.shortest_path(),无需额外二次处理,性能更高:

selected_shortest_dist = {
    source: {
        target: nx.shortest_path_length(G, source, target) 
        for target in list4path 
        if nx.has_path(G, source, target)
    } 
    for source in G.nodes()
}

运行后直接得到你需要的距离格式字典。

方案2:对已有的路径字典做转换

如果已经生成了存储路径的字典,不想重复跑路径计算,可以直接遍历转换,路径的间隔数等于节点列表长度减1:

# 假设你已有的路径字典名为selected_shortest
selected_shortest_dist = {
    source: {
        target: len(path) - 1 
        for target, path in target_dict.items()
    }
    for source, target_dict in selected_shortest.items()
}

后续计算平均最短路径的示例代码

all_dist = []
for target_dict in selected_shortest_dist.values():
    all_dist.extend(target_dict.values())
avg_dist = sum(all_dist) / len(all_dist)

内容的提问来源于stack exchange,提问作者V_sqrt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 12:15:03