Source code for bamt.preprocess.graph

from collections import defaultdict


[docs] def nodes_from_edges(edges: list): """ Retrieves all nodes from the list of edges. Arguments ---------- *edges* : list Returns ------- *nodes* : list Effects ------- None """ return set().union(edges)
[docs] def edges_to_dict(edges: list): """ Transfers the list of edges to the dictionary of parents. Arguments ---------- *edges* : list Returns ------- *parents_dict* : dict Effects ------- None """ nodes = nodes_from_edges(edges) parents_dict = defaultdict(list, {node: [] for node in nodes}) parents_dict.update( {child: parents_dict[child] + [parent] for parent, child in edges} ) return parents_dict