Курс 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. Блок else в Python
  3. Фильтрация списка чисел
  4. Создание вложенного генератора
  5. Генераторы в Python
  6. Работа с timedelta
  7. Удаление falsy-значений из списка с помощью filter
  8. Перезагрузка оператора в Python
  9. Преобразование в float
  10. Переворот строки
  11. Создание вложенных циклов for
  12. Mad Libs Generator
  13. Манипуляция формой массива в Numpy
  14. Проверка версии Python
  15. Срезы в Python
  16. Хэш-функции и метод цепочек
  17. Проверка типа объекта в Python
  18. Создание и удаление объектов
  19. Извлечение статей с newspaper3k
  20. Разделение строки с регулярными выражениями
  21. Тестирование модели в PyTorch
  22. Экспорт данных в файл.
  23. Отображение HTML кода в Python
  24. Измерение времени выполнения кода
  25. discard() — удаление элемента из множества
  26. Работа с файлами в Python
  27. Сортировка в Python
  28. Поиск индексов в списке
  29. Печать в одной строке
  30. Структура строк в Python
  31. Создание и использование ChainMap
  32. Создание пустых функций и классов в Python
  33. Списковое включение в Python
  34. Создание новых списков в Python
  35. Объединение списков в строку
  36. Поиск email
  37. Динамическая типизация в Python
  38. Аннотации типов в Python
  39. Списки: объединение, изменение
  40. Удаление элемента из списка
  41. Преобразование чисел в Python
  42. Генераторы словарей и множеств
  43. Изменение элемента списка
  44. PrettyTable: создание таблицы
  45. Добавление цвета в консоли
  46. Хранение переменных в Python.
  47. Переменная с нижним подчеркиванием
  48. Проверка дубликатов в Python

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