Курс 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. Применение функции к элементам списка
  3. Методы в Python
  4. Декораторы в Python
  5. Глубокое копирование объектов
  6. Глобальные переменные в Python
  7. Создание словарей в Python
  8. Метод enumerate() в Python
  9. Функции классификации комплексных чисел
  10. Возврат значений из генератора
  11. Объединение списков с помощью zip
  12. Функция enumerate в Python
  13. Вывод символов строки в Python
  14. Создание словаря с значением по умолчанию
  15. Кортежи в Python: особенности и преимущества
  16. Работа с модулем cmath
  17. Аннотации типов в Python
  18. Объединение итераторов
  19. Получение значений из словарей
  20. Получение ID текущего процесса
  21. Экспорт функций в Python
  22. Проверка существования переменной с оператором :=
  23. Сравнение строк в Python
  24. Enum в Python
  25. Работа с переменными в Python
  26. Создание детектора плагиата
  27. Фильтрация списка от «ложных» значений
  28. Генераторы по генератору
  29. Логический оператор «and» в Python
  30. Создание коллекций из выражения-генератора
  31. Поток данных в Python
  32. Отображение HTML кода в Python
  33. Переменная с нижним подчеркиванием
  34. Роль запятой в Python
  35. Моржовый оператор в Python 3.8
  36. Декораторы в Python
  37. Установка Git и AWS CLI
  38. Метод rpow в Python
  39. Получение списка файлов в директории с использованием os
  40. Наследование в программировании
  41. Enum в Python: создание и использование перечислений
  42. Работа с утверждениями в Python
  43. Сортировка в Python
  44. Метод is_absolute() для PurePath
  45. Переворот списка в Python
  46. Beautiful Soup — извлечение данных из HTML

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