MultiDiGraph.get_edge_data#

MultiDiGraph.get_edge_data(u, v, key=None, default=None)#

返回与edge(u,v,key)关联的属性字典。

如果未提供键,则返回将边键映射到u和v之间每条边的属性字典的字典。

这和 G[u][v][key] 除非返回默认值而不是异常值,否则边缘不存在。

参数
u, v节点
default任何Python对象(默认值=无)

如果找不到特定边(u、v、key),或者u和v之间没有边且未指定key,则返回的值。

key可散列标识符,可选(默认值=无)

仅返回具有指定关键字的边的数据,作为属性字典(而不是将关键字映射到属性字典的字典)。

返回
edge_dict词典

边属性字典,或者在没有提供特定关键帧的情况下将边关键帧映射到每条边的属性字典的字典(即使u和v之间只有一条边)。

实例

>>> G = nx.MultiGraph()  # or MultiDiGraph
>>> key = G.add_edge(0, 1, key="a", weight=7)
>>> G[0][1]["a"]  # key='a'
{'weight': 7}
>>> G.edges[0, 1, "a"]  # key='a'
{'weight': 7}

警告:我们通过 G.edgesG[1][2] 只读的类似dict的结构。但是,可以将值赋给属性,例如 G.edges[1, 2, 'a']G[1][2]['a'] 如下图所示,使用附加支架。需要指定所有边缘信息以分配给与边缘关联的边缘数据。

>>> G[0][1]["a"]["weight"] = 10
>>> G.edges[0, 1, "a"]["weight"] = 10
>>> G[0][1]["a"]["weight"]
10
>>> G.edges[1, 0, "a"]["weight"]
10
>>> G = nx.MultiGraph()  # or MultiDiGraph
>>> nx.add_path(G, [0, 1, 2, 3])
>>> G.edges[0, 1, 0]["weight"] = 5
>>> G.get_edge_data(0, 1)
{0: {'weight': 5}}
>>> e = (0, 1)
>>> G.get_edge_data(*e)  # tuple form
{0: {'weight': 5}}
>>> G.get_edge_data(3, 0)  # edge not in graph, returns None
>>> G.get_edge_data(3, 0, default=0)  # edge not in graph, return default
0
>>> G.get_edge_data(1, 0, 0)  # specific key gives back
{'weight': 5}