Files
ziffers-python/ziffers/common.py
2023-02-07 17:48:11 +02:00

20 lines
581 B
Python

""" Common methods used in parsing """
def flatten(arr: list) -> list:
"""Flattens array"""
return (
flatten(arr[0]) + (flatten(arr[1:]) if len(arr) > 1 else [])
if isinstance(arr, list) else [arr]
)
def sum_dict(arr: list[dict]) -> dict:
"""Sums a list of dicts: [{a:3,b:3},{b:1}] -> {a:3,b:4}"""
result = arr[0]
for element in arr[1:]:
for key in element.keys():
if key in result:
result[key] = result[key] + element[key]
else:
result[key] = element[key]
return result