Курс 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. Работа с итераторами в Python
  3. Работа с комплексными числами
  4. Нахождение самого длинного слова в списке с помощью max
  5. Работа с модулем bisect
  6. Работа со словарями
  7. Объединение коллекций в Python
  8. Атрибуты массивов в Numpy
  9. Запуск файлового сервера
  10. Структура данных словарь в Python
  11. Список переменных с %who
  12. Переворот последовательности
  13. Форматирование строк в Python
  14. Декоратор Ajax required
  15. Подчеркивание в REPL
  16. Обработка ошибок в Python
  17. globals и locals
  18. Базовые объекты Python
  19. Освобождение памяти в Python
  20. Безопасный доступ к значениям словаря
  21. Основы работы с os
  22. Работа с CSV в Python
  23. IPython и Jupyter Notebook: руководство
  24. Абстракции словарей и множеств в Python
  25. Фильтрация списка от «ложных» значений
  26. Возврат нескольких значений
  27. Основы работы со строками в Python
  28. Сокращение ссылок с pyshorteners
  29. Значения по умолчанию в Python
  30. Библиотека funcy: удобные утилиты
  31. Сравнение строк в Python
  32. Получение текущей даты и времени
  33. Работа с URL-адресами в Python
  34. Работа с SQLite в Python
  35. Регистрация на TenChat
  36. Перемещение и удаление файлов в Python
  37. Списки в Python
  38. Анонимные функции в Python
  39. Подсчет элементов с помощью Counter
  40. Пустой оператор pass в Python
  41. Создание новых списков через list comprehensions
  42. Применение функции map() с лямбда-функциями
  43. Повторение элементов списков
  44. Docstring в Python
  45. Проверка элементов списка условием
  46. Запрос DELETE с библиотекой requests
  47. Метод сравнения объектов в Python

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