如何使用 Networkx 包获取 "dict" 类型的 DAG 的邻接列表?

How to get adjacency list of a DAG as a type "dict" using Networkx package?

我的尝试: 我使用 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': {}}, '2': {'3': {}}, '3': {}}
Out[71]: {'1': {'2': {}}, '2': {'3': {}}, '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': {}}