Курс 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. Создание .exe файла с pyinstaller
  2. Оптимизация памяти в Python
  3. Python: отсутствие точек с запятыми
  4. Python: отличительная особенность — отступы
  5. Замена переменных в Python
  6. Профилирование с cProfile
  7. Имена объектов в Python
  8. Отладка в Python
  9. Передача неизвестных аргументов в Python.
  10. Рациональные числа в Python
  11. Выключение компьютера с помощью Python
  12. Генераторы в Python
  13. Показ всплывающих окон Tkinter
  14. Работа с базами данных SQLite
  15. Цикл for с enumerate() в Python
  16. Удаление ссылок в Python
  17. Модуль inspect
  18. Работа с массивами в Numpy
  19. Оператор continue в Python
  20. Возведение в квадрат с помощью itertools
  21. Регистрация на курсы SF Education
  22. Автоматизация скриптов на AWS Lightsail.
  23. Уникальные значения из списка
  24. Метод Event.wait() в Python
  25. Изучение объектов с помощью dir()
  26. Решение переменной Шредингера
  27. Комментарии в Python
  28. Сохранение и загрузка модели в PyTorch
  29. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  30. Векторизация в Python с NumPy.
  31. Python Ellipsis использование
  32. Поиск с библиотекой Google
  33. Поиск самого длинного слова в списке с использованием max()
  34. Операторы увеличения и уменьшения переменной
  35. Итераторы с потерямиZIP
  36. Генератор данных в Keras
  37. Объединение списков в Python
  38. Определение наиболее частого элемента с помощью collections.Counter
  39. Методы в Python
  40. Капитализация строк
  41. Хешируемые ключи в Python
  42. Замер времени выполнения кода
  43. Определение относительного пути
  44. JSON в Python: модуль, dump, dumps, load
  45. Переопределение метода divmod
  46. Удаление дубликатов из списка с помощью dict.fromkeys
  47. Antigravity модуль
  48. Оператор space-invader

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