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 异常。

Parameters:
u, v节点

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

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

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

Returns:
edge_indbool

如果边在图中,则返回 True,否则返回 False。

Examples

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

>>> G = nx.MultiGraph()  # 或 MultiDiGraph
>>> nx.add_path(G, [0, 1, 2, 3])
>>> G.has_edge(0, 1)  # 使用两个节点
True
>>> e = (0, 1)
>>> G.has_edge(*e)  #  e 是一个 2-元组 (u, v)
True
>>> G.add_edge(0, 1, key="a")
'a'
>>> G.has_edge(0, 1, key="a")  # 指定键
True
>>> G.has_edge(1, 0, key="a")  # 边不是有向的
True
>>> e = (0, 1, "a")
>>> G.has_edge(*e)  # e 是一个 3-元组 (u, v, 'a')
True

以下语法是等价的:

>>> G.has_edge(0, 1)
True
>>> 1 in G[0]  # 尽管如果 G 中没有 0 会引发 :exc:`KeyError` 
True
>>> 0 in G[1]  # 顺序相反;如果 G 中没有 0 也会引发 :exc:`KeyError` 
True