networkx.algorithms.edge_boundary

networkx.algorithms.edge_boundary(G, nbunch1, nbunch2=None, data=False, keys=False, default=None)[source]

Returns the edge boundary of nbunch1.

The edge boundary of a set S with respect to a set T is the set of edges (u, v) such that u is in S and v is in T. If T is not specified, it is assumed to be the set of all nodes not in S.

Parameters:

G : NetworkX graph

nbunch1 : iterable

Iterable of nodes in the graph representing the set of nodes whose edge boundary will be returned. (This is the set S from the definition above.)

nbunch2 : iterable

Iterable of nodes representing the target (or “exterior”) set of nodes. (This is the set T from the definition above.) If not specified, this is assumed to be the set of all nodes in G not in nbunch1.

keys : bool

This parameter has the same meaning as in MultiGraph.edges().

data : bool or object

This parameter has the same meaning as in MultiGraph.edges().

default : object

This parameter has the same meaning as in MultiGraph.edges().

Returns:

iterator

An iterator over the edges in the boundary of nbunch1 with respect to nbunch2. If keys, data, or default are specified and G is a multigraph, then edges are returned with keys and/or data, as in MultiGraph.edges().

Notes

Any element of nbunch that is not in the graph G will be ignored.

nbunch1 and nbunch2 are usually meant to be disjoint, but in the interest of speed and generality, that is not required here.