Курс 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. Проверка подстроки в строке с помощью in
  3. Удаление URL-адресов в Python
  4. Метод setdefault() в Python
  5. Нахождение отличий в списках
  6. Скрытие вывода данных
  7. Работа с argparse
  8. Бесконечная проверка в Python
  9. Обратное распространение ошибки
  10. Участие в LP стейкинге Waves
  11. Раздувающийся словарь в Python
  12. Работа со строками в Python
  13. Метод join() для объединения элементов в строку.
  14. Аннотации типов в Python
  15. Вывод букв строки в Python
  16. Разделение строк в Python
  17. Лямбда-функции в defaultdict
  18. Извлечение новостей с помощью newspaper3k
  19. Комментарии в Python
  20. Выбор редактора кода.
  21. Очистка данных с Pandas
  22. Замена текста с помощью sub
  23. Управление контекстом с помощью декоратора contextmanager
  24. Отслеживание прогресса с tqdm
  25. Python-dateutil — работа с датами
  26. Введение в Python
  27. Преобразование строк в числа с плавающей запятой
  28. Работа с NumPy массивами
  29. Применение функции к списку
  30. Генераторы списков в Python
  31. Отладка в командной строке
  32. Python Ellipsis использование
  33. Генераторы в Python
  34. Основы работы с os
  35. Изменение элемента списка
  36. Реализация метода __abs__ в Python
  37. Добавление элементов в список
  38. Многоточие в Python
  39. Работа с комплексными числами
  40. Оптимизация гиперпараметров в Python
  41. Отладка утечек памяти в Python
  42. Разделение строки с помощью re.split()
  43. Добавление кнопки в tkinter
  44. Срезы в Python
  45. Инверсия списков и строк в Python
  46. Оператор (*) в Python

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