Python: как сгладить список списков

Чтобы создать плоский список из списка списков в Python, вы можете использовать несколько методов. Я объясню три распространенных подхода:

Метод 1: использование понимания списка

nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flat_list = [item for sublist in nested_list for item in sublist]

В этом методе мы используем понимание списка для перебора каждого подсписка во вложенном списке, а затем перебора каждого элемента в подсписке, создавая плоский список.

Метод 2: использование функции itertools.chain

import itertools
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flat_list = list(itertools.chain(*nested_list))

Здесь мы используем функцию itertools.chainдля объединения всех подсписков в один итератор. Затем мы преобразуем итератор в список с помощью функции list().

Метод 3: использование функции sum

nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flat_list = sum(nested_list, [])

В этом методе мы используем функцию sumс пустым списком в качестве начального значения. Функция sumобъединяет все подсписки, добавляя их в пустой список.