Курс 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 3
- Перевод текста с Python Translator
- Определение наиболее частого элемента с помощью collections.Counter
- F-строки в Python
- Работа с многоуровневыми словарями в Python
- Библиотека Emoji: использование смайлов в Python
- Операции с массивами в NumPy
- Блок try…finally в Python
- Получение локальных переменных в Python
- Частичное совпадение пользовательского ввода в Python 3.10
- Сравнение строк в Python
- Модуль sys: основы
- Библиотека itertools: объединение списков
- Работа с итераторами в Python
- Работа с PosixPath() в Python
- Создание словарей в Python
- Управление памятью в Python
- Создание списка дат
- Распаковка аргументов в Python
- Управление мышью и клавиатурой с Pyautogui
- Декораторы в Python
- Декодирование строк в Python
- Функция product() из itertools
- Инверсия списка/строки в Python
- Поиск уникальных элементов строкой в Python
- Управление импортом в Python
- Транспонирование 2D-массива с помощью zip
- Цикл for в Python
- Изменение списка срезом
- Использование *args
- Непрерывная проверка в Python
- Получение ID процесса
- Имена объектов в Python
- Виртуальное окружение Python
- Функции в Python
- Создание словаря в Python
- Декоратор Property в Python
- Наследование в программировании
- Безопасные SQL-запросы в Python 3.11
- Метод lt для сортировки объектов
- Работа с контекстным менеджером Pool
- Обработка элементов в Python
- Работа со строками в Python
- Многопоточность и асинхронное программирование в Python















