python - graph.nodes() 是否保持某种顺序?
问题描述
使用networkx2,该.nodes()
方法是否保证某种一致的节点排序,或者我们可以期望在同一个图上的多个调用之间改变排序?
解决方案
高达 Python 3.6
节点保存在 a 中dictionary
,并nodes()
返回dictionary
键列表。只要您不更改图形节点中的任何内容,顺序就会保持不变。添加/删除节点或边可能会影响顺序。
从 Python 3.6 开始:
在某些 Python 实现中,例如CPython,dictionary
维护插入顺序,这意味着您可以预期打印顺序,但不是全部
从 Python 3.7 开始:
Ordereddictionary
现在是语言标准。
从文档
def nodes(self):
"""Return a copy of the graph nodes in a list."""
return self.adj.keys()
networkx支持 Python 2.7、3.4、3.5 或 3.6,行为取决于您的版本。
推荐阅读
- wordpress - Facebook Sharer 无法获取 og:image 虽然它存在于元标记中(worpress - woocomerce)
- android - 为什么我的应用程序将其数据发送到另一个 Firebase 实时数据库
- xml - 是否可以在 Jenkins 测试作业中下载原始 xml 文件
- ios - LaunchScreen.storyboard 中的活动指示器不旋转。(IOS启动屏幕问题)
- bash - ssmtp 切断我发送的电子邮件
- python - CNN 模型分类错误:logits 和标签必须是可广播的:logits_size=[32,10] labels_size=[32,13]
- symfony - Alice 在运行所有测试时生成随机数据
- javascript - 解析错误:意外的令牌,应为“;” 每当我添加构造函数时?
- python - django rest 框架上的帖子不是预期的 QueryDict
- angular - 属性未声明为可配置(错误:
)