请注意网络x中的multiDiGraph,其边缘由列表边缘中的元组表示,如何访问或打印属性字典中的属性元素,例如如何打印multiDiGraph的长度,类型或通道等
i = [(1001, 7005,{'length':0.35, 'modes':'cw', 'type':'99', 'lanes':9})]
下面的print语句适用于Digraph,但会为MultiDiGraph
提供错误print i, X[i[0]][i[1]]['length']
谢谢
答案 0 :(得分:4)
如果我了解您的需求,那么您可以使用get_edge_data
:
In [35]:
import networkx as nx
G = nx.MultiDiGraph()
G.add_edge(1001, 7005, length=0.35, modes='cw', type='99', lanes=9)
G.edges(data=True)
Out[35]:
[(1001, 7005, {'lanes': 9, 'length': 0.35, 'modes': 'cw', 'type': '99'})]
In [34]:
G.get_edge_data(1001, 7005)[0]['length']
Out[34]:
0.35