Курс 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. Установка пакетов с помощью pip
  3. Обработка исключений в Python
  4. Проверка индексов коллекции
  5. Отправка HTTP-запросов с User-Agent
  6. Метод __irshift__ для Python
  7. Расширение операции побитового «и» в Python
  8. Метод rxor для операции побитового исключающего «или»
  9. Работа с модулем cmath
  10. Операции с комплексными числами
  11. Оптимизация гиперпараметров с Scikit Optimize
  12. Работа с часовыми поясами в Python.
  13. Метод __irshift__ для побитового сдвига вправо
  14. Модуль Operator в Python
  15. Объединение списков в Python
  16. Метод pos в Python
  17. Простой калькулятор Python
  18. Методы __repr__ и __str__ в Python
  19. История Python
  20. Оператор space-invader
  21. Генераторы в Python
  22. Декораторы с @wraps
  23. Управление контекстом с помощью декоратора contextmanager
  24. Импорт в Python: список all
  25. Получение текущей даты и времени
  26. Декораторы в Python
  27. Генераторы в Python
  28. Создание уникального проекта
  29. Вывод с переменной через запятую
  30. Solidity для DeFi Ethereum
  31. Генераторы данных
  32. Метод __int__ в Python
  33. Функция zip() в Python
  34. Переворот строки
  35. Проверка подстроки в строке с помощью in
  36. Преобразование многоуровневого словаря
  37. globals и locals
  38. Декораторы в Python
  39. Перегрузка операторов в Python
  40. Списковое включение в Python
  41. Работа с модулем random
  42. Оператор in в Python
  43. Создание комплексных чисел

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