Курс 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"
- Возврат нескольких значений из функции
- Работа с типами данных в Python с помощью pydantic.
- Введение в PyTorch
- Конкатенация списков в Python
- Запуск внешнего кода в Jupyter
- Возвращение нескольких значений через кортеж или класс
- Pretty-printing JSON в Python
- Обработка ошибок в Python
- Получение ID процесса
- Переменная Шредингера
- Удаление ключей из словаря
- Создание таблиц в Python с PrettyTable
- 9 уловок для чистого кода
- Реверс строки в Python
- Проблемы с именами переменных
- Установка и использование Python-dateutil
- Применение функции к списку
- Создание namedtuple из словаря
- Создание и операции с дробями
- Установка переменной среды в Python
- Создание пар из последовательностей
- Функции any() и all() в Python
- Метод сравнения объектов в Python
- Создание детектора плагиата
- Оператор @ для умножения матриц
- Получение пути к текущему скрипту с помощью os
- Декораторы в Python
- Разница между датами
- Логирование с Loguru
- Асинхронное программирование с asyncio
- ChainMap.new_child() — добавление нового словаря
- Работа с массивами в Python
- Получение обратного списка чисел
- Отладчик pdb: начало работы
- Создание и использование модулей в Python
- Метод clear для коллекций
- Ключевое слово global в Python
- Преобразование кортежа в словарь.
- Подсчет элементов в Python
- Многострочные комментарии в Python
- Присвоение значений переменным в Python
- Получение текущей даты и времени















