Курс 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
- Упрощение работы с JSON-данными в Python
- Распаковка с оператором *
- Работа с комплексными числами
- Преобразование range в итератор
- Управление мышью и клавиатурой с Pyautogui
- Возврат нескольких значений из функции
- Регистрация на TenChat
- Определение индекса элемента списка
- Применение функции к каждому элементу списка
- Подсчет элементов в списке с Counter
- Печать списка с помощью метода join
- Руководство по Pymorphy2
- Установка Python3.7 и PIP
- Символ подчеркивания в Python
- Перемешивание списка с shuffle()
- Фильтрация списка чисел
- Операции с датами в Python
- Создание циклической ссылки
- Транспонирование матрицы в Python
- Настройка нарезки списков
- Инициализация структур данных
- Аннотации типов в Python
- Работа с необработанными строками
- Создание и использование ChainMap
- Измерение времени выполнения в Python
- Основы работы с os
- Работа с timedelta
- Генераторы списков в Python
- Метод enumerate() в Python
- Закрытие файла в Python
- Установка и использование howdoi
- Генерация резюме в Gensim
- JSON-esque в Python
- Копирование файлов с shutil()
- Проверка памяти объекта
- Аннотации типов в Python
- Преобразование чисел в слова
- Преобразование символов в нижний регистр
- Работа с WindowsPath()
- Генераторы списков
- Печать календаря
- Подсказки при вводе данных в Python
- Слияние словарей в Python 3.9
- Основы работы со строками в Python
- Списковое включение в Python
- Удаление дубликатов в pandas















