将NetworkX的OutEdgeView转换为列表

4

我需要将networkx边的OutEdgeView数据转换为列表。

我记得graph.edges(data=True)曾经返回类似于[u,v,{data}]的列表。但现在网络返回了OutEdgeView([u,v,{data}])的内容。如何获取原始类型的列表?

谢谢

1个回答

6

Networkx 最近从 1.11 版本升级到了版本 2.0。您应该阅读迁移指南

在此示例中,该指南提供了一个示例:

>>> D = nx.DiGraph()
>>> D.add_edges_from([(1, 2), (2, 3), (1, 3), (2, 4)])
>>> D.nodes
NodeView((1, 2, 3, 4))
>>> list(D.nodes)
[1, 2, 3, 4]
>>> D.edges
OutEdgeView([(1, 2), (1, 3), (2, 3), (2, 4)])
>>> list(D.edges)
[(1, 2), (1, 3), (2, 3), (2, 4)]

一般来说,如果您需要将 X 转化为列表,则可以使用 list(X)
这对于您已经使用了 data=True 的情况同样适用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接