Курс 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"
- Разделение строки на пары ключ-значение.
- Работа с YAML в Python
- Частичное применение функций в Python
- Чтение и запись TOML-конфигов
- Получение значений из словарей
- Комментарии в Python
- Lambda-функция в Python: использование с map() и sum()
- Сортировка элементов в Python
- JSON в Python: модуль, dump, dumps, load
- Установка и использование pyshorteners
- Метод __irshift__ для Python
- Использование эмодзи в Python
- Создание словарей и множеств в Python.
- Управление виртуальными окружениями в Python
- Оператор walrus в Python
- Проверка наличия элемента в списке
- Обязательные аргументы в Python
- Оптимизация интернирования строк
- Метод bool() в Python
- Область видимости переменных
- Метод pos в Python
- Переменная с нижним подчеркиванием
- Обмен значений переменных в Python
- Основные методы NumPy
- Получение ID текущего процесса
- Создание тестовых данных с Faker
- Функция enumerate в Python
- Моржовый оператор в Python 3.8
- Использование обратной косой черты в f-строках
- Метод __imod__ для Python
- Декораторы в Python
- Извлечение аудио из видео
- Оператор Walrus: правильное использование
- Добавление Progressbar в Python
- Проверка строки на палиндром
- Разделение строк методом split()
- Обработка исключения UnboundLocalError
- Конструктор в Python
- Функция zip() — объединение последовательностей
- Парсинг веб-страниц с Beautiful Soup
- Изменение IP-адреса в Python
- Метод eq для сравнения объектов
- Лимиты на ресурсы Python
- Добавление элементов в список
- Работа с коллекциями Python
- Измерение времени выполнения кода















