Курс 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. Функция enumerate() — Python
  2. Встроенные функции Python
  3. ChainMap.new_child() — добавление нового словаря
  4. Функции классификации комплексных чисел
  5. IPython и Jupyter Notebook: руководство
  6. Операторы += в Python
  7. Область видимости переменных
  8. Создание новых функций с помощью functools.partial
  9. Обработка элементов в Python
  10. Нахождение пересечения множеств
  11. Функции в Python
  12. Логирование в Python
  13. Проверка надежности пароля на Python
  14. Декодирование строк в Python
  15. Открытие, чтение и закрытие файла
  16. Метод rxor для операции побитового исключающего «или»
  17. Округление банкира в Python
  18. Декораторы с @wraps
  19. Логирование с Logzero
  20. Метод __iand__ для пользовательских классов
  21. Работа с Event() в threading
  22. Работа с Telegram API на Python
  23. Курс по дообучению ChatGPT
  24. Получение значений из словарей
  25. Python defaultdict добавление ключа
  26. Извлечение новостей с newspaper3k
  27. Преобразование документов в PDF с помощью Spire.Office
  28. Обработка ошибки IndexError
  29. Логирование с Logzero: ротация файла
  30. Декораторы в Python
  31. Методы и функции в Python
  32. Работа с GitHub в Telegram
  33. Подсчет вхождений элементов
  34. Замена элементов в списке с помощью генераторов списков
  35. Ускорение выполнения кода в Python
  36. Методы сравнения множеств
  37. Создание уникального множества
  38. Создание функций высшего порядка
  39. Оператор объединения словарей
  40. Автоматизация с Python
  41. Создание списка дат
  42. Деление в Python
  43. Комментарии в Python
  44. Конкатенация строковых литералов
  45. Преобразование регистра строк
  46. Concrete Paths в Python

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