Python comment aplatir une liste
flat_list = [item for sublist in l for item in sublist]
Talented Thrush
flat_list = [item for sublist in l for item in sublist]
flat_list = [item for sublist in l for item in sublist]
#which is equivalent to this
flat_list = []
for sublist in l:
for item in sublist:
flat_list.append(item)
flattened = [val for sublist in list_of_lists for val in sublist]
# idiomatic python
# using itertools
import itertools
list_of_list = [[1, 2, 3], [4, 5], [6]]
chain = itertools.chain(*images)
flattened_list = list(chain)
# [1, 2, 3, 4, 5, 6]
itertools.chain.from_iterable(factors)
from collections.abc import Iterable
def flatten(l):
for el in l:
if isinstance(el, Iterable) and not isinstance(el, (str, bytes)):
yield from flatten(el)
else:
yield el