rustworkx.PyDiGraph.find_predecessor_node_by_edge#

PyDiGraph.find_predecessor_node_by_edge(node, predicate, /)#

查找与满足条件的边连接的任意前驱节点

前驱节点被定义为具有指向指定节点的有向边的节点。该方法返回满足条件的任意一个节点。

>>> G = rx.PyDiGraph()
>>> G.add_nodes_from(["A", "B", "C", "D", "E"])
NodeIndices[0, 1, 2, 3, 4]
>>> G.extend_from_weighted_edge_list([(0, 3, 10), (1, 3, 20), (2, 3, 30), (3, 4, 10)])
>>> G.find_predecessor_node_by_edge(3, lambda x: x < 25)
'B'

要获取所有这类节点,参见 find_predecessors_by_edge().

Parameters:
  • node (int) – 用作搜索源节点的节点

  • predicate (Callable) – 一个Python可调用对象,它将接收一个参数,即边对象,并返回一个布尔值表示该边是否匹配

Returns:

作为前置节点通过边连接到给定节点的节点对象,且满足所提供的条件

Return type:

Raises:

NoSuitableNeighbors: 如果没有适合的节点