Курс 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. Работа с YAML в Python
  3. Частичное применение функций в Python
  4. Чтение и запись TOML-конфигов
  5. Получение значений из словарей
  6. Комментарии в Python
  7. Lambda-функция в Python: использование с map() и sum()
  8. Сортировка элементов в Python
  9. JSON в Python: модуль, dump, dumps, load
  10. Установка и использование pyshorteners
  11. Метод __irshift__ для Python
  12. Использование эмодзи в Python
  13. Создание словарей и множеств в Python.
  14. Управление виртуальными окружениями в Python
  15. Оператор walrus в Python
  16. Проверка наличия элемента в списке
  17. Обязательные аргументы в Python
  18. Оптимизация интернирования строк
  19. Метод bool() в Python
  20. Область видимости переменных
  21. Метод pos в Python
  22. Переменная с нижним подчеркиванием
  23. Обмен значений переменных в Python
  24. Основные методы NumPy
  25. Получение ID текущего процесса
  26. Создание тестовых данных с Faker
  27. Функция enumerate в Python
  28. Моржовый оператор в Python 3.8
  29. Использование обратной косой черты в f-строках
  30. Метод __imod__ для Python
  31. Декораторы в Python
  32. Извлечение аудио из видео
  33. Оператор Walrus: правильное использование
  34. Добавление Progressbar в Python
  35. Проверка строки на палиндром
  36. Разделение строк методом split()
  37. Обработка исключения UnboundLocalError
  38. Конструктор в Python
  39. Функция zip() — объединение последовательностей
  40. Парсинг веб-страниц с Beautiful Soup
  41. Изменение IP-адреса в Python
  42. Метод eq для сравнения объектов
  43. Лимиты на ресурсы Python
  44. Добавление элементов в список
  45. Работа с коллекциями Python
  46. Измерение времени выполнения кода

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