symmetric_difference#

symmetric_difference(G, H)[source]#

Returns new graph with edges that exist in either G or H but not both.

The node sets of H and G must be the same.

Parameters:
G,Hgraph

A NetworkX graph. G and H must have the same node sets.

Returns:
DA new graph with the same type as G.

Notes

Attributes from the graph, nodes, and edges are not copied to the new graph.

Examples

>>> G = nx.Graph([(0, 1), (0, 2), (1, 2), (1, 3)])
>>> H = nx.Graph([(0, 1), (1, 2), (0, 3)])
>>> R = nx.symmetric_difference(G, H)
>>> R.nodes
NodeView((0, 1, 2, 3))
>>> R.edges
EdgeView([(0, 2), (0, 3), (1, 3)])
----

Additional backends implement this function

graphblas : OpenMP-enabled sparse linear algebra backend.