rustworkx.PyGraph.contract_nodes#

PyGraph.contract_nodes(nodes, obj, /, weight_combo_fn=None)#

使用一个新节点替换一组节点。

注意

此方法不保留边元组表示中端点的顺序 (例如,从 edge_list()返回的元组)。

Parameters:
  • nodes (list[int]) – 一组待移除并被新节点替换的节点。图中不存在的任何节点将被忽略。 若为空,则此方法行为类似 add_node() (但速度较慢)。

  • obj (S) – 要关联到新节点的数据/权重。

  • weight_combo_fn (Callable) – 一个可选的python可调用对象,当指定时,用于合并由收缩操作产生的平行边,这种情况会在 nodes 和图中其他部分之间的任意两条边共享一个端点时发生。 如果这个 PyGraph 实例是多图,请保持此参数未指定以保留平行边。如果在不是多图的情况下未指定,平行边及其权重将通过基于内部迭代顺序任意选择一条边的权重来合并,该顺序可能发生变化。

Returns:

新创建节点的索引。

Return type:

整数