多重有向图边的属性
请问在networkx中,对于一个多重有向图(multiDiGraph),如果边是用列表中的元组表示的,我该如何访问或打印出属性字典中的元素,比如我怎么打印出长度、类型或车道等属性呢?
i = [(1001, 7005,{'length':0.35, 'modes':'cw', 'type':'99', 'lanes':9})]
下面的打印语句在有向图(Digraph)中可以正常工作,但在多重有向图(MultiDiGraph)中会出错。
print i, X[i[0]][i[1]]['length']
谢谢!
1 个回答
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