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')])