diff --git a/snippets/python/flatten.py b/snippets/python/flatten.py new file mode 100644 index 0000000..1dc6edb --- /dev/null +++ b/snippets/python/flatten.py @@ -0,0 +1,9 @@ +def flatten(d: dict, leaf_type=str): + out = {} + for key, value in d.items(): + if isinstance(value, leaf_type): + out[key] = value + elif isinstance(value, dict): + out = {**out, **flatten(value)} + else: + raise ValueError("Unexpected value type: {type(value)}")