我希望获得networkx图中两个节点之间的优势。更具体地说,我想获得与此边缘相关的一些数据。我知道先验这两个节点是链接的。有没有这样做的功能?
答案 0 :(得分:10)
边缘数据存储在字典中。要访问该词典,请使用get_edge_data()
。
import networkx as nx
G=nx.Graph()
G.add_edge(1,2, weight=5)
G.get_edge_data(1,2)
> {'weight': 5}
如果要遍历所有边缘,可以使用G.edges(data=True)
H = nx.Graph()
H.add_edge(2, 3, color = 'red')
H.add_edge(1, 2, weight = 4)
for u,v,data in H.edges_iter(data=True):
print u, v, data
> 1 2 {'weight': 4}
> 2 3 {'color': 'red'}