Как легко и быстро сгладить список в 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
. Этот метод принимает итерируемый объект в качестве аргумента и добавляет его элементы в конец целевого списка.
Теперь запустите следующий код, чтобы проверить, что ваша функция выполняет свою работу:
Этот код должен вывести [9, 3, 8, 3, 4, 5, 2, 8, 6, 4, 3, 1, 1, 0, 4, 5]
.