如何解决如何使用 Networkx 包将 DAG 的邻接列表作为“dict”类型获取?
我的尝试:我使用 networkx 包创建了一个有向图,并添加了两条边。然后尝试使用 G.adj
获取邻接表。然后我收到了 AdjacencyView 类型的邻接表。我曾尝试通过 list(G.adj)
更改输出,但它没有给我预期的结果。
G =nx.DiGraph()
G.add_edges_from([('1','2'),('2','3')])
G.adj
Out[65]: AdjacencyView({'1': {'2': {}},'2': {'3': {}},'3': {}})
list(G.adj)
Out[66]: ['1','2','3']
然后我尝试使用 dict(G.adj)
然后我收到了部分预期的输出但类型 AtlasView 是可见的。
dict(G.adj)
Out[70]: {'1': AtlasView({'2': {}}),'2': AtlasView({'3': {}}),'3': AtlasView({})}
我在寻找什么:我正在寻找的只是将邻接列表输出为 dict 类型,如下所示。我可以知道如何将 AdjacencyView 类型输出转换为 dict 类型吗?谢谢!
{'1': {'2': {}},'3': {}}
Out[71]: {'1': {'2': {}},'3': {}}
解决方法
试试adjacency:
G = nx.DiGraph()
G.add_edges_from([('1','2'),('2','3')])
print({k: v for k,v in G.adjacency()})
输出:
{'1': {'2': {}},'2': {'3': {}},'3': {}}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。