Курс 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. Подсчет количества элементов в списке
  3. Замена текста с re.sub()
  4. Создание Radio кнопок в tkinter
  5. Работа с deque в Python
  6. Работа со словарями
  7. Генерация случайных чисел в Python
  8. Загрузка постов Instagram
  9. Форматирование объектов с модулем pprint
  10. Работа с функцией next() в Python
  11. Работа с файлами в Python
  12. Создание новых функций с помощью functools.partial
  13. Метод rmatmul для пользовательских матриц
  14. Обработка исключений с блоком else
  15. Удаление специальных символов
  16. Печать списка с помощью метода join
  17. Преобразование типов данных в set comprehension
  18. Измерение времени выполнения
  19. Комментарии в Python
  20. Обработка ошибок в Python
  21. Функция с *args.
  22. Создание панели меню Tkinter
  23. Форматирование строк с % в Python
  24. Область видимости переменных
  25. Обновление ключей в Python
  26. Работа с переменными в Python
  27. Явный импорт переменных
  28. Обмен переменными в Jupyter
  29. Создание пар из последовательностей
  30. Оператор Walrus: правильное использование
  31. Объединение коллекций в Python
  32. Сортировка с параметром key
  33. Вычисление разности множеств в Python
  34. Вывод букв строки в Python
  35. Извлечение чисел из текста
  36. Поиск анаграмм с Counter
  37. Метод radd для пользовательских чисел
  38. Работа с парами ключ-значение
  39. Обновление шаблона base.html
  40. Блок try-except-else
  41. Вывод символов строки в Python
  42. Функция zip() в Python
  43. Экспорт данных в файл.
  44. Работа с изменяемыми коллекциями
  45. GitHub в Telegram: подписка на уведомления
  46. Defaultdict в Python

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