使用networkx的最短路径的边属性

2024-05-30

我正在尝试使用 networkx 来计算两个节点之间的最短路径。例如:

paths = nx.shortest_path(G, ‘A’, ‘C’, weight=‘cost’)

paths会返回类似: [‘A’、‘B’、‘C’]

nx.shortest_path_length()返回该路径的成本,这也很有帮助。但是,我也想返回该路径遍历的边的列表。在这些边缘内是我存储的其他属性,我想返回它们。

这可能吗?


这是一个可以满足您所有需要的代码(希望是:p):

import numpy as np
# import matplotlib.pyplot as plt
import networkx as nx

# Create a random graph with 8 nodes, with degree=3
G = nx.random_regular_graph(3, 8, seed=None)

# Add 'cost' attributes to the edges
for (start, end) in G.edges:
    G.edges[start, end]['cost'] = np.random.randint(1,10)

# Find the shortest path from 0 to 7, use 'cost' as weight
sp = nx.shortest_path(G, source=0, target=7, weight='cost')
print("Shortest path: ", sp)

# Create a graph from 'sp'
pathGraph = nx.path_graph(sp)  # does not pass edges attributes

# Read attributes from each edge
for ea in pathGraph.edges():
    #print from_node, to_node, edge's attributes
    print(ea, G.edges[ea[0], ea[1]])

输出将类似于以下内容:

Shortest path:  [0, 5, 7]
(0, 5) {'cost': 2}
(5, 7) {'cost': 3}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用networkx的最短路径的边属性 的相关文章

随机推荐

  • Angular,从动态创建的组件中获取ViewChild / ViewContainerRef

    有没有办法从动态创建的组件中获取 ViewContainerRef 我的动态创建的组件内部有一个 ngContent 元素 我想在动态创建后填充该元素 export class Example ViewChild content read
  • 为什么C++标准算法“count”返回difference_type而不是size_t?

    为什么返回类型是std count http en cppreference com w cpp algorithm count the difference type迭代器 通常是ptrdiff t 因为计数永远不可能为负数 不是size
  • 比较两个字符串时如何不包含换行符

    我正在比较两个字符串的更新 我做了一个 string1 string2 结果却有所不同 我把它们放在 添加监视 中 我发现唯一的区别是一个有换行符 另一个没有换行符 string1 This is a test nThis is a tes
  • 将证书安装到 Azure Web 应用上的受信任根证书存储

    如何将证书安装到 Azure Web 应用程序中 以便我的 azure web 应用程序可以通过 SSL 与远程服务通信 此特定证书未由公共 CA 签名 我使用 openssl 生成了一个 ssl 证书 当我将其安装到本地计算机上受信任的根
  • 从字节数组创建 BitmapImage

    我正在创建一个包含任意值的字节数组 并希望将其转换为 BitmapImage bi new BitmapImage using MemoryStream stream new MemoryStream data try bi BeginIn
  • 如何创建 C++ 11 不可默认构造的分配器?

    这个主题出现在关于 Visual Studio 2015 的 std list sort 更改的线程中 std list sort 为什么突然切换到自上而下的策略 https stackoverflow com questions 4062
  • 获取控制器视图上的列表数据

    我有一个视图 其中我在循环中渲染了部分视图 有一个列表 部分视图与列表中的每个项目绑定 输入值后 我没有在控制器上获取列表的值 这是我的观点 table class table width 100 border 0 thead tr sty
  • 从 ASP.NET MVC 将 HTML 表导出到 Excel

    我目前正在使用 ASP NET MVC 并且有一个操作方法 可以在视图中以表格格式显示一些报告 我需要通过单击视图中的按钮将同一个表导出到 Excel 文档 如何才能实现这一目标 您将如何为此创建 Action 方法 在您的控制器操作中 您
  • 更改 Qt 中的语言环境

    我尝试使用 QLocale 和 setDefault 函数更改区域设置 但似乎不起作用 以下是使用 C 本地化库和 QLocale 更改语言环境的示例 对于 C 本地化库 它似乎可以工作 但对于 QLocale setDefault 函数调
  • 为什么要汇集无状态 EJB?

    应用服务器池使用无状态 EJB 的原因是什么 我可以理解 控制传入调用的应用程序工作负载很有用 但这只能证明将作为 FA ADE 与调用者客户端一起提供服务的 EJB 池是合理的 池化内部 EJB 那些未公开且仅在内部调用以执行业务逻辑的
  • 使用“dnupublish”排除发布项目上的文件夹

    如何使用 dnupublish 命令从 wwwroot 中排除文件夹 示例 在我的项目中存在许多文件夹 我需要排除wwwroot lib and wwwroot 源 我正在使用 clr 1 0 0 beta7 12302 The wwwro
  • Flutter Web URL 路由不适用于真实域

    我正在尝试使用一个网址来获取参数并将该参数分配给网络文件内的变量 例如 我的域名是 example com 在这个网站中我需要用户的 ID 我想制作 example com id 123 并获取 123 id 并给出变量 123 值 在 f
  • Storm 中的连接被拒绝错误

    我是 Storm 的新手 我遇到了以下错误 java net ConnectException Connection refused at sun nio ch SocketChannelImpl checkConnect Native M
  • 将 CvSeq 保存到数组

    我对 OpenCV 文档有点迷失 我想将 cvFindContours 返回的 CvSeq 保存到一个数组中 据我了解它将返回 CvContour 的 seq 但我找不到它包含的内容 我应该保存其中的哪些部分 稍后我可以迭代它并说调用 cv
  • Console.ReadKey() 与多线程的奇怪行为

    我在使用时遇到一个奇怪的问题Console ReadKey 在多线程程序中 我的问题是 为什么会发生这种情况 这是一个错误 还是因为我滥用了Console 请注意 控制台是supposed为了线程安全 根据文档 http msdn micr
  • 如何使用showModal按照承诺完全屏蔽外部内容?

    我正在尝试修改页面行为javascript 书签 因为我无法在当前环境中制作插件 或几乎其他任何东西 几乎一切都工作正常 除了某些页面中预期的输入键 其中包含某种全局捕获 发生的事情是这样的 function window dialog d
  • 如何通过 redux-persist 阻止 redux-form“form” 状态自动重新水合

    我正在使用 redux form 它提供了一个内置的减速器 称为 formReducer 需要向组合减速器注册 以使用 redux 的存储管理表单状态 我还使用 redux persist 来保存 redux 存储 当我不想让我的表单自动重
  • Python函数返回None,不清楚为什么[重复]

    这个问题在这里已经有答案了 我对 python 很陌生 遇到了一个我无法解释的问题 我尝试在这里搜索论坛答案 但我发现的内容与我的情况不符 感觉就像我错过了一些非常基本的东西 但我没有看到它 显然 这段代码按照我期望的方式运行 import
  • 将子查询的结果插入表中并带有常量

    相关表格的概要如下 我有一个表 我们称之为联接 它有两列 都是其他表的外键 我们将这两列称为 userid 和buildingid 因此 join 看起来像 join userid buildingid 我基本上需要在这个表中插入一堆行 通
  • 使用networkx的最短路径的边属性

    我正在尝试使用 networkx 来计算两个节点之间的最短路径 例如 paths nx shortest path G A C weight cost paths会返回类似 A B C nx shortest path length 返回该