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