如何使用Networkx包将DAG的邻接列表作为“dict”类型获取?

2024-09-30 20:17:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我的尝试:我使用networkx软件包创建了一个有向图,并添加了两条边。然后尝试使用G.adj获取邻接列表。然后,我收到了类型为邻接视图的邻接列表。我曾尝试通过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输出,如下所示。我可以知道如何将邻接视图类型输出转换为dict类型吗?谢谢大家!

{'1': {'2': {}}, '2': {'3': {}}, '3': {}}
Out[71]: {'1': {'2': {}}, '2': {'3': {}}, '3': {}}

Tags: fromnetworkxadd视图类型列表outdict