MultiGraph.has_edge#

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

如果图在节点 u 和 v 之间存在边,则返回 True。

这等同于 v in G[u] or key in G[u][v],但不会抛出 KeyError 异常。

参数:
u, v节点

节点可以是字符串或数字等。

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

如果指定,仅当找到带有该 key 的边时返回 True。

返回:
edge_ind布尔值

如果边存在于图中则为 True,否则为 False。

示例

可以使用两个节点 u, v,一个边元组 (u, v),或一个边元组 (u, v, key) 来调用。

>>> G = nx.MultiGraph()  # or MultiDiGraph
>>> nx.add_path(G, [0, 1, 2, 3])
>>> G.has_edge(0, 1)  # using two nodes
True
>>> e = (0, 1)
>>> G.has_edge(*e)  #  e is a 2-tuple (u, v)
True
>>> G.add_edge(0, 1, key="a")
'a'
>>> G.has_edge(0, 1, key="a")  # specify key
True
>>> G.has_edge(1, 0, key="a")  # edges aren't directed
True
>>> e = (0, 1, "a")
>>> G.has_edge(*e)  # e is a 3-tuple (u, v, 'a')
True

以下语法是等效的

>>> G.has_edge(0, 1)
True
>>> 1 in G[0]  # though this gives :exc:`KeyError` if 0 not in G
True
>>> 0 in G[1]  # other order; also gives :exc:`KeyError` if 0 not in G
True