Курс 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. Работа с JSON данными в Python
  2. Работа с GitHub в Telegram
  3. Управление экспортом элементов
  4. Установка и использование howdoi
  5. Оператор * в Python
  6. Метод __int__ в Python
  7. Операции с матрицами в Python
  8. Замеры производительности в Python
  9. Получение списка файлов в директории с использованием os
  10. Работа с базами данных SQLite
  11. Анализ текста на русском языке с помощью Pymystem3
  12. Абстракции словарей и множеств в Python
  13. Python Поверхностное Копирование
  14. Python groupby() из itertools: работа с повторяющимися элементами
  15. Класс Counter() для подсчета элементов
  16. Обработка исключения UnboundLocalError
  17. Функции в Python
  18. Работа с словарями в Python
  19. Python Enumerate
  20. Установка и обучение ChatterBot
  21. Декораторы с аргументами
  22. Заказ карты Тинькофф Black
  23. Отрицательные индексы списков в Python
  24. Значения по умолчанию в Python
  25. Список переменных с %who
  26. Получение обратного списка чисел
  27. Декораторы в Python
  28. Генераторные функции в Python
  29. Поиск индекса элемента
  30. Метод setitem в Python
  31. Работа с модулем glob в Python
  32. Возврат нескольких значений из функции
  33. Создание словарей с defaultdict()
  34. Нахождение хеша для бесконечности и NaN в Python
  35. Обработка исключений с блоком else
  36. Работа с комплексными числами в Python
  37. Делегирование в Python
  38. Namedtuple в Python
  39. Асинхронное программирование с asyncio
  40. Оператор += для объединения строк
  41. Проверка подстроки в строке с помощью in
  42. Разделение списка на гнппы
  43. Поиск HTML-элементов с BeautifulSoup
  44. Библиотека itertools: объединение списков
  45. Декоратор total_ordering для класса Point
  46. Python Enum Weekday Usage
  47. Функция product() в Python
  48. Логирование в Python

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