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