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