3.2.3.3. networkx.Graph.edges

Graph.edges(nbunch=None, data=False, default=None)[source]

Return an iterator over the edges.

Edges are returned as tuples with optional data in the order (node, neighbor, data).

Parameters:

nbunch : iterable container, optional (default= all nodes)

A container of nodes. The container will be iterated through once.

data : string or bool, optional (default=False)

The edge attribute returned in 3-tuple (u,v,ddict[data]). If True, return edge attribute dict in 3-tuple (u,v,ddict). If False, return 2-tuple (u,v).

default : value, optional (default=None)

Value used for edges that dont have the requested attribute. Only relevant if data is not True or False.

Returns:

edges : iterator

An iterator over (u,v) or (u,v,d) tuples of edges.

Notes

Nodes in nbunch that are not in the graph will be (quietly) ignored. For directed graphs this returns the out-edges.

Examples

>>> G = nx.path_graph(3)   # or MultiGraph, etc
>>> G.add_edge(2,3,weight=5)
>>> [e for e in G.edges()]
[(0, 1), (1, 2), (2, 3)]
>>> list(G.edges(data=True))  # default data is {} (empty dict)
[(0, 1, {}), (1, 2, {}), (2, 3, {'weight': 5})]
>>> list(G.edges(data='weight', default=1))
[(0, 1, 1), (1, 2, 1), (2, 3, 5)]
>>> list(G.edges([0,3]))
[(0, 1), (3, 2)]
>>> list(G.edges(0))
[(0, 1)]