MultiGraph.remove_edge#

MultiGraph.remove_edge(u, v, key=None)[source]#

删除节点 u 和 v 之间的边。

Parameters:
u, v节点

删除节点 u 和 v 之间的边。

key可哈希标识符,可选(默认=None)

用于区分一对节点之间的多条边。 如果为 None,则删除 u 和 v 之间的一条边。如果存在多条边,则删除按插入顺序最后添加的那条边。

Raises:
NetworkXError

如果 u 和 v 之间没有边,或者 如果指定的键没有对应的边。

See also

remove_edges_from

删除一组边

Examples

>>> G = nx.MultiGraph()
>>> nx.add_path(G, [0, 1, 2, 3])
>>> G.remove_edge(0, 1)
>>> e = (1, 2)
>>> G.remove_edge(*e)  # 从边元组解包 e

对于多条边

>>> G = nx.MultiGraph()  # 或 MultiDiGraph 等
>>> G.add_edges_from([(1, 2), (1, 2), (1, 2)])  # key_list 返回
[0, 1, 2]

key=None (默认)时,边按添加顺序的相反顺序被删除:

>>> G.remove_edge(1, 2)
>>> G.edges(keys=True)
MultiEdgeView([(1, 2, 0), (1, 2, 1)])
>>> G.remove_edge(2, 1)  # 边不是有向的
>>> G.edges(keys=True)
MultiEdgeView([(1, 2, 0)])

对于带键的边

>>> G = nx.MultiGraph()
>>> G.add_edge(1, 2, key="first")
'first'
>>> G.add_edge(1, 2, key="second")
'second'
>>> G.remove_edge(1, 2, key="first")
>>> G.edges(keys=True)
MultiEdgeView([(1, 2, 'second')])