MultiDiGraph.remove_edges_from#
- MultiDiGraph.remove_edges_from(ebunch)#
删除ebunch中指定的所有边。
- Parameters:
- ebunch: 边元组的列表或容器
列表或容器中给出的每条边都将从图中移除。这些边可以是:
2元组 (u, v) 移除u和v之间的一条边。
3元组 (u, v, key) 移除由key标识的边。
4元组 (u, v, key, data) 其中data被忽略。
See also
remove_edge
移除一条边
Notes
如果ebunch中的边不在图中,将静默失败。
Examples
>>> G = nx.path_graph(4) # 或 DiGraph, MultiGraph, MultiDiGraph 等 >>> ebunch = [(1, 2), (2, 3)] >>> G.remove_edges_from(ebunch)
移除多条边的副本
>>> G = nx.MultiGraph() >>> keys = G.add_edges_from([(1, 2), (1, 2), (1, 2)]) >>> G.remove_edges_from([(1, 2), (2, 1)]) # 边不是有向的 >>> list(G.edges()) [(1, 2)] >>> G.remove_edges_from([(1, 2), (1, 2)]) # 静默忽略多余的副本 >>> list(G.edges) # 现在图是空的 []
当边是2元组
(u, v)
但在图中u和v之间有多条边时,移除最近插入的边(按插入顺序)。>>> G = nx.MultiGraph() >>> for key in ("x", "y", "a"): ... k = G.add_edge(0, 1, key=key) >>> G.edges(keys=True) MultiEdgeView([(0, 1, 'x'), (0, 1, 'y'), (0, 1, 'a')]) >>> G.remove_edges_from([(0, 1)]) >>> G.edges(keys=True) MultiEdgeView([(0, 1, 'x'), (0, 1, 'y')])