Часто при работе с данными в Python возникает необходимость преобразования списка списков в плоский список. Например, имеется следующий список списков:
list_of_lists = [ [1, 2, 3], [4, 5, 6], [7], [8, 9] ]
Цель состоит в том, чтобы получить плоский список, то есть одномерный список, который будет выглядеть так:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Эта задача может быть решена несколькими способами в Python.
Использование вложенного цикла for
Первый и самый простой способ — это использование вложенного цикла for. Внешний цикл проходит через каждый список в списке списков, а внутренний цикл проходит через каждый элемент этих списков.
flat_list = [] for sublist in list_of_lists: for item in sublist: flat_list.append(item)
Использование функции sum
Функция sum в Python может использоваться для конкатенации списков. Второй аргумент функции sum является начальным значением. Если начальное значение — пустой список, то функция sum объединит все списки в один.
flat_list = sum(list_of_lists, [])
Использование генератора списков
Генераторы списков — это эффективный инструмент Python для создания списков. Они могут быть использованы для создания плоского списка из списка списков.
flat_list = [item for sublist in list_of_lists for item in sublist]
Использование функции chain из модуля itertools
Модуль itertools в Python содержит функцию chain, которая может быть использована для создания плоского списка из списка списков.
from itertools import chain flat_list = list(chain(*list_of_lists))
Таким образом, в Python есть несколько способов преобразования списка списков в плоский список. Выбор конкретного метода зависит от конкретной задачи и предпочтений разработчика.
Добавить комментарий