rustworkx.PyDAG.find_predecessors_by_edge#
- PyDAG.find_predecessors_by_edge(node, filter_fn, /)#
返回与给定节点前驱节点关联的数据列表,其中连接自那些节点的边满足提供的过滤函数。
前置节点被定义为一个具有指向指定节点的有向边的节点。该方法返回所有边满足条件的节点。
>>> 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_predecessors_by_edge(3, lambda x: x < 25) ['B', 'A']
如需仅获取一个节点,参见
find_predecessor_node_by_edge()。- Parameters:
node (int) – 要获取前继节点的索引
filter_fn (Callable) – 要应用于边的筛选函数。该函数接收一个参数(边的数据负载/权重对象),并返回布尔值表示该边是否匹配条件。 如果任何边返回
True,节点将被包含。
- Returns:
所有前驱节点数据的列表,其中至少有一条边符合筛选条件
- Return type:
列表[S]