【发布时间】:2022-01-21 15:25:58
【问题描述】:
我有以下图表:
import networkx as nx
import matplotlib.pyplot as plt
g = nx.Graph()
g.add_edge("A","B")
g.add_edge("A","C")
g.add_edge("A","D")
g.add_edge("B","F")
g.add_edge("B","G")
g.add_edge("B","H")
g.add_edge("I","F")
g.add_edge("I","k")
nx.draw(g,with_labels=True)
plt.show()
g.nodes(data=True)
g.edges(data=True)
然后我计算出所有节点之间的最短距离如下:
p = dict(nx.shortest_path_length(g))
p
输出:
{'A': {'A': 0, 'B': 1, 'D': 1, 'C': 1, 'G': 2, 'H': 2, 'F': 2, 'I': 3, 'k': 4},
'B': {'B': 0, 'G': 1, 'H': 1, 'A': 1, 'F': 1, 'D': 2, 'C': 2, 'I': 2, 'k': 3},
'C': {'C': 0, 'A': 1, 'B': 2, 'D': 2, 'G': 3, 'H': 3, 'F': 3, 'I': 4, 'k': 5},
'D': {'D': 0, 'A': 1, 'B': 2, 'C': 2, 'G': 3, 'H': 3, 'F': 3, 'I': 4, 'k': 5},
'F': {'F': 0, 'B': 1, 'I': 1, 'k': 2, 'H': 2, 'G': 2, 'A': 2, 'D': 3, 'C': 3},
'G': {'G': 0, 'B': 1, 'H': 2, 'A': 2, 'F': 2, 'D': 3, 'C': 3, 'I': 3, 'k': 4},
'H': {'H': 0, 'B': 1, 'G': 2, 'A': 2, 'F': 2, 'D': 3, 'C': 3, 'I': 3, 'k': 4},
'I': {'I': 0, 'k': 1, 'F': 1, 'B': 2, 'G': 3, 'H': 3, 'A': 3, 'D': 4, 'C': 4},
'k': {'k': 0, 'I': 1, 'F': 2, 'B': 3, 'G': 4, 'H': 4, 'A': 4, 'D': 5, 'C': 5}}
如何仅提取所有数值(长度=81)并将它们存储在列表中以供进一步操作?我试过list(p),但没用。
【问题讨论】:
标签: dictionary type-conversion networkx