Open ajschumacher opened 1 month ago
nodes = [1, 2, 3]
links = [(1, 2), (1, 3), (2, 3), (3, 1)]
groups = {node: [dest for source, dest in links
if node == source]
for node in nodes}
print(groups)
groups = {}
for node in nodes:
groups[node] = []
for source, dest in links:
if source == node:
groups[node].append(dest)
print(groups)
groups = {}
for source, dest in links:
groups.setdefault(source, []).append(dest)
print(groups)
instead of doing a full loop for every item, do one loop and key it into a hash
(like computing all child groups for a hierarchy, rather than scanning for children for each node)