Курс 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. Использование super() в Python
  2. Big O оптимизация
  3. Передача параметров в Python
  4. Извлечение данных из JSON
  5. Упрощение работы с JSON-данными в Python
  6. Методы split() и join() — Python строк.
  7. Объявление переменных в Python
  8. Блок else в циклах Python
  9. Генераторные функции в Python
  10. Передача аргументов в Python
  11. Преобразование данных в Python
  12. Установка и использование Python-dateutil
  13. Функция enumerate() в Python
  14. Преобразование генераторов в циклы
  15. Работа с argparse
  16. Декораторы с аргументами в Python
  17. Работа с Telegram API на Python
  18. Функция count() в Python
  19. Работа с библиотекой requests
  20. Измерение времени выполнения кода
  21. Считывание бинарного файла в Python
  22. Автоматизация действий с Pyautogui
  23. Модуль os: работа с файлами и папками
  24. Методы __repr__ и __str__ в Python
  25. Генератор данных в Keras
  26. Преобразование строки в число
  27. Создание виртуальной среды
  28. Метод enumerate() в Python
  29. Частичное совпадение пользовательского ввода в Python 3.10
  30. Python 3.12: переиспользование кавычек
  31. Генерация случайных чисел в Python
  32. Приоритет операций в Python
  33. Метод ne для сравнения объектов
  34. Создание комплексных чисел
  35. Логирование с Logzero
  36. Метод setitem в Python
  37. Принципы программирования
  38. Метаклассы в Python
  39. Работа с файлами в Python
  40. Измерение потребления памяти при сортировке
  41. Отладка утечек памяти в Python
  42. Сортировка в Python
  43. Явный импорт в Python
  44. Навыки Python: строки, типы данных
  45. Декораторы в Python
  46. Ключевое слово global в Python
  47. Управление браузером с Selenium
  48. Работа с комбинациями в Python.

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