Курс 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. Вывод сложных структур данных с помощью pprint
  2. Оператор is в Python
  3. Получение текущей даты в Python
  4. Функции min(), max(), sum()
  5. Оператор деления для класса Rational
  6. Генерация ключей RSA
  7. Аннотации типов в Python
  8. Удаление символов новой строки в Python.
  9. Проверка существования переменной с оператором :=
  10. Эффективная конкатенация строк в Python
  11. Работа с deque из collections
  12. Создание лямбда-функций
  13. Справка по импортированным модулям
  14. Замеры производительности в Python
  15. Метаклассы в Python
  16. Работа с файлами в Python
  17. Игра Виселица на Python
  18. Работа с комбинациями в Python.
  19. Логирование с Logzero
  20. Метод join для объединения строк
  21. Библиотека Emoji: использование смайлов в Python
  22. Метод rename() для переименования файлов и каталогов
  23. Псевдонимы в Python
  24. Метод join() для объединения строк
  25. Concrete Paths — метод .with_suffix()
  26. Объединение списков в Python
  27. Работа с прокси в Python
  28. Замена элементов в списке с помощью генераторов списков
  29. Очистка данных в Python
  30. Создание коллекций из выражения-генератора
  31. Основы работы с базами данных в Python
  32. Расширение операции побитового «и» в Python
  33. Генераторы в Python
  34. Игра «Угадывание чисел»
  35. Срезы в Python
  36. Модуль subprocess: запуск внешних команд
  37. Управление контекстом с помощью декоратора contextmanager
  38. Форматирование строк в Python
  39. Абстракции словарей и множеств в Python
  40. Работа с географическими данными в Python
  41. Метод __float__ в Python
  42. Оптимизация сравнения в Python
  43. Многопоточность и асинхронное программирование в Python
  44. Python Ellipsis использование
  45. Изменения в обработке логических значений
  46. Установка и использование модуля Wikipedia

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