Сгладить двумерный массив в Python означает преобразовать его в одномерный массив путем объединения всех элементов внутренних массивов в один список. Вот несколько способов добиться этого:
Метод 1: использование понимания списка
arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = [element for sublist in arr for element in sublist]
print(flattened)
Метод 2. Использование модуля itertools
import itertools
arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = list(itertools.chain(*arr))
print(flattened)
Метод 3. Использование вложенных циклов
arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = []
for sublist in arr:
for element in sublist:
flattened.append(element)
print(flattened)
Метод 4. Использование библиотеки numpy
import numpy as np
arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = np.array(arr).flatten().tolist()
print(flattened)
Метод 5. Использование функции уменьшения из модуля functools
from functools import reduce
arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = reduce(lambda x, y: x + y, arr)
print(flattened)