617 B
617 B
title, tags, cover, firstSeen, lastUpdated
| title | tags | cover | firstSeen | lastUpdated |
|---|---|---|---|---|
| Deep flatten list | list,recursion | blog_images/mask-quiet.jpg | 2018-01-16T16:54:14+02:00 | 2020-12-29T19:53:45+02:00 |
Deep flattens a list.
- Use recursion.
- Use
isinstance()withcollections.abc.Iterableto check if an element is iterable. - If it is iterable, apply
deep_flatten()recursively, otherwise return[lst].
from collections.abc import Iterable
def deep_flatten(lst):
return ([a for i in lst for a in
deep_flatten(i)] if isinstance(lst, Iterable) else [lst])
deep_flatten([1, [2], [[3], 4], 5]) # [1, 2, 3, 4, 5]