Курс 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. Асинхронное выполнение задач в Python
  2. Упрощение работы с JSON-данными в Python
  3. Распаковка с оператором *
  4. Работа с комплексными числами
  5. Преобразование range в итератор
  6. Управление мышью и клавиатурой с Pyautogui
  7. Возврат нескольких значений из функции
  8. Регистрация на TenChat
  9. Определение индекса элемента списка
  10. Применение функции к каждому элементу списка
  11. Подсчет элементов в списке с Counter
  12. Печать списка с помощью метода join
  13. Руководство по Pymorphy2
  14. Установка Python3.7 и PIP
  15. Символ подчеркивания в Python
  16. Перемешивание списка с shuffle()
  17. Фильтрация списка чисел
  18. Операции с датами в Python
  19. Создание циклической ссылки
  20. Транспонирование матрицы в Python
  21. Настройка нарезки списков
  22. Инициализация структур данных
  23. Аннотации типов в Python
  24. Работа с необработанными строками
  25. Создание и использование ChainMap
  26. Измерение времени выполнения в Python
  27. Основы работы с os
  28. Работа с timedelta
  29. Генераторы списков в Python
  30. Метод enumerate() в Python
  31. Закрытие файла в Python
  32. Установка и использование howdoi
  33. Генерация резюме в Gensim
  34. JSON-esque в Python
  35. Копирование файлов с shutil()
  36. Проверка памяти объекта
  37. Аннотации типов в Python
  38. Преобразование чисел в слова
  39. Преобразование символов в нижний регистр
  40. Работа с WindowsPath()
  41. Генераторы списков
  42. Печать календаря
  43. Подсказки при вводе данных в Python
  44. Слияние словарей в Python 3.9
  45. Основы работы со строками в Python
  46. Списковое включение в Python
  47. Удаление дубликатов в pandas

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