Курс 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"

  1. Возврат нескольких значений из функции
  2. Работа с типами данных в Python с помощью pydantic.
  3. Введение в PyTorch
  4. Конкатенация списков в Python
  5. Запуск внешнего кода в Jupyter
  6. Возвращение нескольких значений через кортеж или класс
  7. Pretty-printing JSON в Python
  8. Обработка ошибок в Python
  9. Получение ID процесса
  10. Переменная Шредингера
  11. Удаление ключей из словаря
  12. Создание таблиц в Python с PrettyTable
  13. 9 уловок для чистого кода
  14. Реверс строки в Python
  15. Проблемы с именами переменных
  16. Установка и использование Python-dateutil
  17. Применение функции к списку
  18. Создание namedtuple из словаря
  19. Создание и операции с дробями
  20. Установка переменной среды в Python
  21. Создание пар из последовательностей
  22. Функции any() и all() в Python
  23. Метод сравнения объектов в Python
  24. Создание детектора плагиата
  25. Оператор @ для умножения матриц
  26. Получение пути к текущему скрипту с помощью os
  27. Декораторы в Python
  28. Разница между датами
  29. Логирование с Loguru
  30. Асинхронное программирование с asyncio
  31. ChainMap.new_child() — добавление нового словаря
  32. Работа с массивами в Python
  33. Получение обратного списка чисел
  34. Отладчик pdb: начало работы
  35. Создание и использование модулей в Python
  36. Метод clear для коллекций
  37. Ключевое слово global в Python
  38. Преобразование кортежа в словарь.
  39. Подсчет элементов в Python
  40. Многострочные комментарии в Python
  41. Присвоение значений переменным в Python
  42. Получение текущей даты и времени

Marketello читают маркетологи из крутых компаний