difference#
- difference(G, H)[source]#
Returns a new graph that contains the edges that exist in G but not in H.
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. If you want a new graph of the difference of G and H with the attributes (including edge data) from G use remove_nodes_from() as follows:
>>> G = nx.path_graph(3) >>> H = nx.path_graph(5) >>> R = G.copy() >>> R.remove_nodes_from(n for n in G if n in H)
Examples
>>> G = nx.Graph([(0, 1), (0, 2), (1, 2), (1, 3)]) >>> H = nx.Graph([(0, 1), (1, 2), (0, 3)]) >>> R = nx.difference(G, H) >>> R.nodes NodeView((0, 1, 2, 3)) >>> R.edges EdgeView([(0, 2), (1, 3)]) ----
Additional backends implement this function
graphblas : OpenMP-enabled sparse linear algebra backend.