Graph.add_edges_from#
- Graph.add_edges_from(ebunch_to_add, **attr)[source]#
- Add all the edges in ebunch_to_add. - Parameters:
- ebunch_to_addcontainer of edges
- Each edge given in the container will be added to the graph. The edges must be given as 2-tuples (u, v) or 3-tuples (u, v, d) where d is a dictionary containing edge data. 
- attrkeyword arguments, optional
- Edge data (or labels or objects) can be assigned using keyword arguments. 
 
 - See also - add_edge
- add a single edge 
- add_weighted_edges_from
- convenient way to add weighted edges 
 - Notes - 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 an ebunch take precedence over attributes specified via keyword arguments. - When adding edges from an iterator over the graph you are changing, a - RuntimeErrorcan be raised with message:- RuntimeError: dictionary changed size during iteration. This happens when the graph’s underlying dictionary is modified during iteration. To avoid this error, evaluate the iterator into a separate object, e.g. by using- list(iterator_of_edges), and pass this object to- G.add_edges_from.- Examples - >>> 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") - Evaluate an iterator over a graph if using it to modify the same graph - >>> G = nx.Graph([(1, 2), (2, 3), (3, 4)]) >>> # Grow graph by one new node, adding edges to all existing nodes. >>> # wrong way - will raise RuntimeError >>> # G.add_edges_from(((5, n) for n in G.nodes)) >>> # correct way - note that there will be no self-edge for node 5 >>> G.add_edges_from(list((5, n) for n in G.nodes))