warg.manipulation.recursive_flatten

warg.manipulation.recursive_flatten(sequence: Iterable) Iterable[source]

Depth first flattens iterable

>>> list(recursive_flatten([1, [2], 3]))
[1, 2, 3]
>>> list(recursive_flatten([1, [2], [3, [4]]]))
[1, 2, 3, 4]
>>> list(recursive_flatten((([[None]], 2), (2,), 2)))
[None, 2, 2, 2]