identified_nodes#
- identified_nodes(G, u, v, self_loops=True, copy=True)#
- 返回收缩结果的图表 - u和- v.- 节点收缩将两个节点标识为单个节点,该节点与原始两个节点上的任何边缘相关联。 - 参数
- G网络X图表
- 其节点将被收缩的图。 
- u, v节点
- 必须是中的节点 - G。
- self_loops布尔值
- 如果为True,则连接的任何边 - u和- v在……里面- G在返回的图中的新节点上成为自循环。
- copy布尔值
- 如果这为True(默认为True),则复制 - G并返回它,而不是直接更改- G。
 
- 返回
- 网络图
- 如果Copy为True,则为类型相同的新图形对象 - G(离开- G未修改)具有- u和- v在单个节点中标识。右侧节点- v将合并到节点中- u,仅限如此- u将出现在返回的图形中。如果复制为FALSE,则修改- G使用- u和- v在单个节点中标识。右侧节点- v将合并到节点中- u,仅限如此- u将出现在返回的图形中。
 
 - 笔记 - 对于多图表,重新对齐边的边键可能与旧边的边键不同。这是自然的,因为边缘键仅在每对节点内是唯一的。 - 对于非多重图,其中 - u和- v与第三个节点相邻- w,边缘 (- v,- w)将收缩到边缘 (- u,- w),并将其属性存储到“收缩”属性中。- 此功能也可用作 - identified_nodes.- 实例 - 在四个结点上收缩圈图的两个不相邻结点 - C_4生成路径图(忽略平行边):- >>> G = nx.cycle_graph(4) >>> M = nx.contracted_nodes(G, 1, 3) >>> P3 = nx.path_graph(3) >>> nx.is_isomorphic(M, P3) True - >>> G = nx.MultiGraph(P3) >>> M = nx.contracted_nodes(G, 0, 2) >>> M.edges MultiEdgeView([(0, 1, 0), (0, 1, 1)]) - >>> G = nx.Graph([(1, 2), (2, 2)]) >>> H = nx.contracted_nodes(G, 1, 2, self_loops=False) >>> list(H.nodes()) [1] >>> list(H.edges()) [(1, 1)]