edges_equal#
- edges_equal(edges1, edges2, *, directed=False)[source]#
Return whether edgelists are equal.
Equality here means equal as Python objects. Edge data must match if included. Ordering of edges in an edgelist is not relevant; ordering of nodes in an edge is only relevant if
directed == True.- Parameters:
- edges1, edges2iterables of tuples
Each tuple can be an edge tuple
(u, v), or an edge tuple with data dict s(u, v, d), or an edge tuple with keys and data dict s(u, v, k, d).- directedbool, optional (default=False)
If True, edgelists are treated as coming from directed graphs.
- Returns:
- bool
True if edgelists are equal, False otherwise.
Examples
>>> G1 = nx.complete_graph(3) >>> G2 = nx.cycle_graph(3) >>> edges_equal(G1.edges, G2.edges) True
Edge order is not taken into account:
>>> G1 = nx.Graph([(0, 1), (1, 2)]) >>> G2 = nx.Graph([(1, 2), (0, 1)]) >>> edges_equal(G1.edges, G2.edges) True
The directed parameter controls whether edges are treated as coming from directed graphs.
>>> DG1 = nx.DiGraph([(0, 1)]) >>> DG2 = nx.DiGraph([(1, 0)]) >>> edges_equal(DG1.edges, DG2.edges, directed=False) # Not recommended. True >>> edges_equal(DG1.edges, DG2.edges, directed=True) False
This function is meant to be used on edgelists (i.e. the output of a
G.edges()call), and can give unexpected results on unprocessed lists of edges:>>> l1 = [(0, 1)] >>> l2 = [(0, 1), (1, 0)] >>> edges_equal(l1, l2) # Not recommended. False >>> G1 = nx.Graph(l1) >>> G2 = nx.Graph(l2) >>> edges_equal(G1.edges, G2.edges) True >>> DG1 = nx.DiGraph(l1) >>> DG2 = nx.DiGraph(l2) >>> edges_equal(DG1.edges, DG2.edges, directed=True) False