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