Курс Python → Преобразование вложенного списка
Для того чтобы сделать список плоским, то есть преобразовать список, состоящий из вложенных списков, в один плоский список, можно воспользоваться следующим подходом. Начнем с создания функции, которая будет принимать в качестве аргумента вложенный список и возвращать плоский список. Например:
def flatten_list(nested_list):
flat_list = []
for item in nested_list:
if isinstance(item, list):
flat_list.extend(flatten_list(item))
else:
flat_list.append(item)
return flat_list
В данной функции используется рекурсивный подход: мы проходим по каждому элементу вложенного списка, и если элемент является списком, то вызываем функцию flatten_list для этого элемента и расширяем итоговый список. Если элемент не является списком, то просто добавляем его в итоговый список.
Пример использования функции:
nested_list = [1, 2, [3, 4, [5, 6]], 7, [8, [9]]]
flat_list = flatten_list(nested_list)
print(flat_list)
# Output: [1, 2, 3, 4, 5, 6, 7, 8, 9]
В данном примере в переменной nested_list содержится вложенный список, который мы передаем в функцию flatten_list. Результат работы функции сохраняем в переменной flat_list и выводим его на экран. Как видно, вложенный список был успешно преобразован в плоский список.
Другие уроки курса "Python"
- Декораторы в Python
- Работа с контекстными переменными
- Создание новых функций через partial
- Структуры данных в Python
- Итерации в Python
- Работа со временем в Python
- Измерение времени выполнения
- Сравнение объектов в Python
- Нахождение хеша для бесконечности и NaN в Python
- Асинхронный код в Python
- Транспонирование 2D-массива с помощью zip
- Отладка в командной строке
- Работа с Telegram API на Python
- Python: изменяемые и неизменяемые коллекции
- Списковые включения в Python
- Поиск email
- Переворот строки с использованием цикла
- Работа с многоуровневыми словарями в Python
- Управление мышью и клавиатурой с Pyautogui
- Создание вкладок с TKinter
- Оператор * в Python
- Преобразование чисел в Python
- Оформление кода на Python
- Потоковый ввод в Python
- Многострочные комментарии в Python
- Retrying в Python: повторные вызовы
- Участие в LP стейкинге Waves
- Именованные аргументы в Python
- Работа с модулем bisect
- Переопределение унарных операторов
- Методы __repr__ и __str__ в Python
- Функции в Python: создание и вызов
- Копирование объектов в Python
- Получение текущей даты и времени
- Хэш-функции и метод цепочек
- Сортировка и обратный порядок
- Получение текущего времени в Python
- Метод rsub для пользовательских чисел
- Импорт модулей в Python 3.12
- Функция findall() для поиска вхождений строки
- Разделение списка на гнппы
- Модуль xkcd: загрузка комиксов
- Метод invert для побитового отрицания
- Инверсия списка/строки в Python
- Функции классификации комплексных чисел
- Навыки Python: строки, типы данных
- Методы HTTP запросов в Flask
- Идентификатор объекта в Python















