Python, wie man eine Liste verflachert
flat_list = [item for sublist in l for item in sublist]
Talented Thrush
flat_list = [item for sublist in l for item in sublist]
l = [[1, 2], [3, 4], [5, 6, 7]]
flat_list = [item for sublist in l for item in sublist]
# flat_list = [1, 2, 3, 4, 5, 6, 7]
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]
def flatten(L):
for item in L:
try:
yield from flatten(item)
except TypeError:
yield item
list(flatten([[[1, 2, 3], [4, 5]], 6]))
>>>[1, 2, 3, 4, 5, 6]