python - 访问满足networkx包中某些条件的图中的边
问题描述
我有一个图 G,其中有 100 个节点,标记为 1 到 100。
图 G 是锦标赛图,这意味着每两个节点之间在任一方向上都有一条有向边。
见:https://en.wikipedia.org/wiki/Tournament_(graph_theory)
现在我需要以某种方式访问满足以下条件的所有边:(也许将它们存储在列表中?)表示 set A={1,2,3,..50}
a) G 中节点 x 和 y 之间的边,其中 x,y 在 A 中
b) G 中任何形式为 x--->z 的边,其中 x 在 A 中,z 不在 A 中
c) G 中任何形式为 z--->x 的边,其中 x 在 A 中,z 不在 A 中
本质上,我想要 a)、b) 和 c) 的联合。
我是 python 新手,无法清楚地解决这个问题。我正在使用 networkx 包,我的图 G 是一个有向图。( G=nx.DiGraph()
)
解决方案
一种)
G.subgraph(A).edges()
b)
[(i,j) for i,j in G.edges() if i in A and j not in A]
C)
[(i,j) for i,j in G.edges() if i not in A and j in A]
如果您想要他们的工会,请尝试以下操作:
G.edges()-G.subgraph(G.nodes()-A).edges()
推荐阅读
- python - 从python中的数据框中获取均值、模式、中位数和事件数
- javascript - 如何将 Mongoose 集合传递给 js 文件中的函数?
- javascript - 使用 JavaScript 有效地限制在 HTML5 画布上呈现图形的区域
- c++ - SFML Clion 错误 CMakeLists.txt:8 (target_link_directories) 处的 CMake 错误:使用无效参数调用 target_link_directories
- javascript - 为什么谷歌浏览器弹出页面无法设置本地存储值
- javascript - 为什么我的 ReactJs 循环下拉列表会自动调用多次
- javascript - Unslider 不在滑块图像上显示导航点
- python-3.x - 覆盖的 __setitem__ 调用串行工作,但在 apply_async 调用中中断
- python - 如何在 plotly 图表中本地添加徽标?
- ubuntu - 我正在尝试使用 Ubuntu 20.04.2.0 在我的虚拟机中安装 ROS,但我得到以下信息