并集#

union(G, H, rename=())[source]#

合并图 G 和 H。节点名称必须是唯一的。

图之间发生名称冲突将引发异常。

提供了重命名功能以避免名称冲突。

参数:
G, H

一个 NetworkX 图

rename可迭代对象,可选

可以通过指定元组 rename=(‘G-‘,’H-’)(例如)来更改 G 和 H 的节点名称。G 中的节点“u”将被重命名为“G-u”,H 中的节点“v”将被重命名为“H-v”。

返回值:
U一个与 G 类型相同的并集图。

注意

要合并具有公共节点的图,请考虑使用 compose(G, H) 函数或 Graph.update() 方法。

disjoint_union() 与 union() 相似,不同之处在于它通过使用顺序整数重新标记节点来避免名称冲突。

边和节点属性会从 G 和 H 传播到并集图。图属性也会传播,但如果它们在 G 和 H 中都存在,则使用 H 中的值。

示例

>>> G = nx.Graph([(0, 1), (0, 2), (1, 2)])
>>> H = nx.Graph([(0, 1), (0, 3), (1, 3), (1, 2)])
>>> U = nx.union(G, H, rename=("G", "H"))
>>> U.nodes
NodeView(('G0', 'G1', 'G2', 'H0', 'H1', 'H3', 'H2'))
>>> U.edges
EdgeView([('G0', 'G1'), ('G0', 'G2'), ('G1', 'G2'), ('H0', 'H1'), ('H0', 'H3'), ('H1', 'H3'), ('H1', 'H2')])
----

其他后端实现了此函数

graphblas : 启用 OpenMP 的稀疏线性代数后端。