MultiGraph.get_edge_data#
- MultiGraph.get_edge_data(u, v, key=None, default=None)[source]#
返回与边 (u, v, key) 关联的属性字典。
如果未提供 key,则返回一个字典,该字典将边 key 映射到 u 和 v 之间每条边的属性字典。
这与
G[u][v][key]
相同,但如果边不存在,则返回 default 而不是抛出异常。- 参数:
- u, v节点
- default任何 Python 对象 (default=None)
如果未找到特定边 (u, v, key),或者 u 和 v 之间没有边且未指定 key,则返回的值。
- key可哈希标识符,可选 (default=None)
仅返回具有指定 key 的边的数据,作为属性字典(而不是将 key 映射到属性字典的字典)。
- 返回:
- edge_dict字典
边属性字典;如果未提供特定 key,则返回一个将边 key 映射到这些边各自属性字典的字典(即使 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.edges
和G[1][2]
成为只读的类字典结构来保护图数据结构。但是,您可以使用额外的方括号为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}