Nhiều cách flatten list of lists:
Cách 1: Nested loop
L1 = [[1,2], [3,4,5], [6,7,8,9]]
flat = []
for sublist in L1:
for item in sublist:
flat.append(item)
print(flat) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
Cách 2: Generator function
def flatten(lst):
for sublist in lst:
for item in sublist:
yield item
L1 = [[1,2,3], [4,5], [6,7,8,9]]
flat = list(flatten(L1))
print(flat) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
Cách 3: itertools.chain (compact, hiệu quả)
import itertools L1 = [[1,2,3], [4,5], [6,7,8,9]] flat = list(itertools.chain.from_iterable(L1)) print(flat) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
Cách 4: List comprehension (Pythonic)
flat = [item for sublist in L1 for item in sublist]
Tất cả cho kết quả: [1, 2, 3, 4, 5, 6, 7, 8, 9]