Курс 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. Обработка StopIteration в Python
  2. Разрешение имен в Python
  3. Оператор is в Python
  4. inspect в Python: анализ кода
  5. ROT13 Шифр Цезаря в Python
  6. Enum в Python
  7. Работа с кортежами в Python
  8. Представление бесконечности в Python
  9. Перегрузка операторов в Python
  10. Работа с zip()
  11. Запрос пароля с помощью getpass
  12. Python UserString — создание подклассов строк
  13. Отладка регулярных выражений в Python
  14. Разделение строк в Python
  15. Работа с PosixPath() в Python
  16. Удаление ресурса в Python
  17. Retrying в Python: повторные вызовы
  18. Бесконечные списки в Python
  19. Преобразование чисел в Python
  20. capitalize() — изменение регистра первого символа строки
  21. Математические функции в Python
  22. Расчет времени выполнения программы
  23. Вывод сложных структур данных с помощью pprint
  24. Операция += для списков
  25. Участие в сообществе @selectel
  26. Работа с переменными в Python
  27. Переопределение метода __or__()
  28. Разделение строк в Python
  29. Проверка типа данных
  30. Использование модуля __future__
  31. Оператор Walrus: правильное использование
  32. Основные операции с библиотекой Numpy
  33. Метод join() для объединения элементов в строку.
  34. Работа с f-строками 2.0
  35. Получение списка файлов в директории с использованием os
  36. Удаление символов новой строки в Python.
  37. Создание и удаление объектов
  38. Поиск шаблона в начале строки
  39. Активация Matplotlib в Jupyter
  40. Переворот строки
  41. Пустой оператор pass в Python
  42. Декоратор Ajax required
  43. Использование функции product
  44. Списки: объединение, изменение
  45. Декораторы в Python

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