python - 如何使用 networkx 访问连接的组件?
问题描述
我networkx.connected_components
曾经有一个主图的子图列表,但它返回的只是这个:
<generator object connected_components at 0x000001AC12663820>
如何访问已连接组件的列表?我应该在下面的代码中添加什么来做到这一点?:
G = nx.Graph()
components= nx.connected_components(G)
separated_graphs = list(components)
print(separated_graphs)
解决方案
您上面的代码实际上确实返回了一个空白列表(即它评估生成器对象)。相反,print(components)
如您所述,输出生成器对象而不对其进行评估。
然而,一个重要示例的输出可能仍然不是您所期望的,因为nx.connected_components()
返回的是节点的子集而不是子图。的文档nx.connected_components()
有一个很好的例子,展示了实际访问子图的最佳实践:
S = [G.subgraph(c).copy() for c in nx.connected_components(G)]
推荐阅读
- mysql - 无法启动 MySQL 社区服务器 -> InnoDB 强制恢复错误 -> InnoDB mmamp 错误
- laravel - 如何在 Laravel Eloquent 中编写嵌套的单个查询
- python - 在Django中的if语句之后没有显示HTML内容
- python - Time Comp:为什么包含三个赋值语句的单个 for 循环的速度是每个包含一个赋值语句的三个连续 for 循环的两倍?
- html - 获取表单中的单选按钮值
- c++ - C++ 模板和运行时
- html - 如何使用 CSS 为特定 HTML 表单的输入字段设置样式
- java - 我收到此消息但失败:org.openqa.selenium.support.pagefactory.DefaultElementLocator.find 处的 java.lang.NullPointerException
- java - Java中Android计算器的多项操作
- java - 使用 JAXB 编组时元素缺少 xmlns 属性