Курс 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. Функция __init__ в Python
  2. Сортировка данных в Python
  3. Оболочка Python
  4. Подсчет вхождений элементов
  5. Создание таблиц в терминале с PrettyTable
  6. Antigravity модуль
  7. Методы обработки строк в Python
  8. Порядок и длина множеств в Python
  9. Лямбда-функции в Python
  10. Поиск наиболее частого элемента в списке
  11. Проверка версии Python
  12. Разделение строки на подстроки в Python
  13. Сравнение def и lambda в Python
  14. Работа с изменяемыми коллекциями
  15. Установка и использование модуля «howdoi»
  16. Зарезервированные слова в Python
  17. Работа с датой и временем в Python
  18. Разделение строки с помощью re.split()
  19. Работа с Path в Python
  20. Метод ne для сравнения объектов
  21. Функция sleep() в Python
  22. Генерация чисел с range()
  23. Работа с базами данных SQLite
  24. Счетчик ссылок в Python
  25. Динамическая типизация в Python
  26. Работа с модулем glob в Python
  27. Логирование с Loguru
  28. Упрощенный вывод данных в Python
  29. Избегайте пустого списка
  30. Проверка файла .py на синтаксис.
  31. Непрерывная проверка в Python
  32. Работа с множествами в Python
  33. Получение ID текущего процесса
  34. Фильтрация списка чисел
  35. Цикл for с enumerate() в Python
  36. Присвоение и ссылки
  37. Работа с collections в Python.
  38. Установка и использование модуля Wikipedia
  39. split() без разделителя
  40. Печать календаря
  41. Конкатенация строк в Python
  42. Получение пути к текущему скрипту с помощью os
  43. Явный импорт переменных
  44. Основы Python
  45. Работа с zip()
  46. Использование defaultdict в Python
  47. Настройка вывода в Numpy
  48. Работа со словарями в Python

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