Как преобразовать вложенные списки в плоский в Python?
Как сделать список плоским в Python
Иногда при работе с данными вы можете столкнуться с ситуацией, когда данные представлены в виде списка вложенных списков. Одна из часто выполняемых операций - сделать этот список плоским, то есть преобразовать многомерный список, такой как матрица, в одномерный список.
Для лучшего понимания того, что означает сделать список плоским, представим, что у нас есть следующая матрица числовых значений:
Переменная matrix
содержит список в Python, который содержит четыре вложенных списка. Каждый вложенный список представляет собой строку в матрице. В каждой строке хранится по четыре элемента или числа. Теперь предположим, что вы хотите преобразовать эту матрицу в следующий список:
Каким образом вы можете сделать вашу матрицу плоской и получить одномерный список, как показано выше? В этом учебном пособии вы узнаете, как сделать это в Python.
Как сделать список списков плоским с помощью for
Loop
Как можно сделать список списков плоским в Python? Обычно для этого можно выполнить следующие шаги явно или неявно:
- Создайте новый пустой список для плоских данных.
- Перебирайте каждый вложенный список в исходном списке.
- Добавьте каждый элемент текущего вложенного списка в список плоских данных.
- Верните получившийся список с плоскими данными.
Продолжим с примером matrix
, вот как вы можете перевести эти шаги в код на Python, используя цикл for
и метод .extend()
:
Внутри flatten_extend()
вы сначала создаете новый пустой список flat_list
. Вы будете использовать этот список для хранения плоских данных, когда вы их извлечете из matrix
. Затем вы начинаете цикл, чтобы перебрать внутренние, или вложенные, списки из matrix
. В этом примере вы используете имя row
, чтобы представлять текущий вложенный список.
На каждой итерации вы используете .extend()
для добавления содержимого текущего подсписка к flat_list
. Данный метод принимает итерируемый объект в качестве аргумента и добавляет его элементы в конец целевого списка.
Теперь выполните следующий код, чтобы убедиться, что ваша функция справляется с задачей:
Ожидаемый вывод:
Теперь вы знаете, как сделать список списков плоским с помощью цикла for
и метода .extend()
. В следующих разделах мы рассмотрим другие методы и инструменты, которые можно использовать для этой задачи, а также обсудим замечания о производительности и применение плоских списков в науке о данных с помощью NumPy.
Заключение
В этом учебном пособии вы узнали, как сделать список списков плоским в Python. Мы рассмотрели использование цикла for
и метода .extend()
для достижения этой цели. Вы также получили бесплатный образец кода для дальнейшего изучения и сравнения нескольких способов выполнения этой задачи.
Знание, как сделать список списков плоским, может быть полезным при работе с данными в Python. Теперь вы можете применять эти знания в своих проектах и улучшать свои навыки программирования.