dictutils.ops.rollup_treeΒΆ
- dictutils.ops.rollup_tree(tree, reducers)[source]ΒΆ
Roll up aggregate values from leaves to parents in a tree structure.
- Parameters:
- Return type:
- Returns:
Tree with rolled-up values
Example
>>> import json >>> tree = { ... "departments": { ... "engineering": { ... "budget": 100, ... "teams": { ... "frontend": {"budget": 40}, ... "backend": {"budget": 60} ... } ... } ... } ... } >>> result = rollup_tree(tree, {"budget": lambda a, b: (a or 0) + (b or 0)}) >>> print(json.dumps(result, indent=4)) { "departments": { "engineering": { "budget": 200, "teams": { "frontend": { "budget": 40 }, "backend": { "budget": 60 } } } } }