Skip to main content
`Ctrl`+`K`

# difference

difference(G, H)

  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,H graph

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

  Returns:
    D A 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)])