networkx.MultiGraph.get_edge_data¶
-
MultiGraph.
get_edge_data
(u, v, key=None, default=None)[source]¶ Returns the attribute dictionary associated with edge (u, v).
This is identical to
G[u][v][key]
except the default is returned instead of an exception is the edge doesn’t exist.- Parameters
u, v (nodes)
default (any Python object (default=None)) – Value to return if the edge (u, v) is not found.
key (hashable identifier, optional (default=None)) – Return data only for the edge with specified key.
- Returns
edge_dict – The edge attribute dictionary.
- Return type
dictionary
Examples
>>> 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}
Warning: we protect the graph data structure by making
G.edges
andG[1][2]
read-only dict-like structures. However, you can assign values to attributes in e.g.G.edges[1, 2, 'a']
orG[1][2]['a']
using an additional bracket as shown next. You need to specify all edge info to assign to the edge data associated with an edge.>>> 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.get_edge_data(0, 1) {0: {}} >>> e = (0, 1) >>> G.get_edge_data(*e) # tuple form {0: {}} >>> G.get_edge_data("a", "b", default=0) # edge not in graph, return 0 0