NetworkX OutEdge查看列表

Zho*_*Xie 4 python dictionary list networkx

我需要将 networkx Edge 的 OutEdgeView 数据隐藏到列表中。

我记得graph.edges(data=True)用来返回一个列表,例如[u,v,{data}]. 但现在网络返回了一些东西OutEdgeView([u,v,{data}])。我怎样才能得到原始的列表?

谢谢

Joe*_*oel 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)]
Run Code Online (Sandbox Code Playgroud)

一般来说,如果您需要转换X为列表,您可以使用list(X).

data=True这也适用于您使用过的情况。