Курс 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. Руководство по библиотеке pydantic
  2. Срез списка в Python
  3. Просмотр внешних файлов в %pycat
  4. JSON-esque в Python
  5. Генераторы в Python
  6. Функция enumerate() — Python
  7. Регистрация на курсы SF Education
  8. Установка Python — Простое руководство
  9. Генерация случайных данных в NumPy
  10. Многоточие в Python
  11. Объединение словарей в Python
  12. Применение промокода в Много лосося
  13. Работа с файлами в Python
  14. Переопределение метода sub
  15. Работа с переменными в Python
  16. UserList в Python: Описание и примеры использования
  17. Работа с базами данных SQLite
  18. Сравнение def и lambda функций в Python
  19. Изменение списка срезами
  20. Выражения-генераторы в Python
  21. Управление фоновыми задачами в Python
  22. Сравнение строк в Python
  23. Создание копии итератора
  24. Замена символов в Python
  25. Возврат нескольких значений
  26. Копирование в Python
  27. Enum в Python
  28. Принципы программирования
  29. Создание новой даты в Python
  30. Pretty-printing JSON в Python
  31. Отладка регулярных выражений в Python
  32. Проверка вхождения подстроки
  33. Работа со словарями
  34. Операции с датами в Python
  35. Генерация случайных чисел в Python
  36. Функция __init__ в Python
  37. Работа с байтовыми строками в Python
  38. Работа со строками в Python
  39. Обработка элементов в Python
  40. Метод getitem для доступа к элементам последовательности
  41. Округление чисел с помощью round
  42. Объединение словарей в Python
  43. Выбор редактора кода.
  44. Оператор zip в Python

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