MultiGraph.add_edges_from(ebunch, attr_dict=None, **attr)[source]

Add all the edges in ebunch.


ebunch : container of edges

Each edge given in the container will be added to the graph. The edges can be:

  • 2-tuples (u,v) or
  • 3-tuples (u,v,d) for an edge attribute dict d, or
  • 4-tuples (u,v,k,d) for an edge identified by key k

attr_dict : dictionary, optional (default= no attributes)

Dictionary of edge attributes. Key/value pairs will update existing data associated with each edge.

attr : keyword arguments, optional

Edge data (or labels or objects) can be assigned using keyword arguments.

See also

add a single edge
convenient way to add weighted edges


Adding the same edge twice has no effect but any edge data will be updated when each duplicate edge is added.

Edge attributes specified in edges as a tuple take precedence over attributes specified generally.


>>> G = nx.Graph()   # or DiGraph, MultiGraph, MultiDiGraph, etc
>>> G.add_edges_from([(0,1),(1,2)]) # using a list of edge tuples
>>> e = zip(range(0,3),range(1,4))
>>> G.add_edges_from(e) # Add the path graph 0-1-2-3

Associate data to edges

>>> G.add_edges_from([(1,2),(2,3)], weight=3)
>>> G.add_edges_from([(3,4),(1,4)], label='WN2898')