Курс Python → Создание вложенного генератора
Для создания вложенного генератора внутри генератора в Python используется следующий синтаксис: [[expression for y in x] for x in iterator]. Это позволяет нам пройти по каждому элементу внешнего итерируемого объекта, затем пройти по каждому элементу внутреннего итерируемого объекта и применить к ним выражение expression.
Примером использования вложенных генераторов может быть обход двумерной структуры данных, такой как список списков, и преобразование ее элементов в другую двумерную структуру. Например, у нас есть список списков, представляющий матрицу, и мы хотим создать новую матрицу, умножив каждый элемент на 2:
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
new_matrix = [[x * 2 for x in row] for row in matrix]
В результате выполнения данного кода переменная new_matrix будет содержать следующую двумерную структуру данных: [[2, 4, 6], [8, 10, 12], [14, 16, 18]]. Каждый элемент исходной матрицы был умножен на 2 и сохранен в новой матрице.
Использование вложенных генераторов в Python позволяет нам компактно и элегантно обрабатывать двумерные структуры данных, применяя выражения к их элементам без необходимости использования вложенных циклов. Это делает код более читаемым и понятным, особенно при работе с большими объемами данных.
Другие уроки курса "Python"
- Модуль functools в Python
- Необязательные аргументы в Python
- Создание коллекций из выражения-генератора
- Пространство имен в Python
- Извлечение статей с newspaper3k
- Применение функций в Python
- Импорт модуля из другого каталога
- Python enumerate() функции
- Запуск внешних программ с subprocess
- Инверсия списка и строки в Python
- Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
- Область видимости переменных
- Оператор распаковки в Python
- Лямбда-функции в Python
- Python Enum Weekday Usage
- Переопределение унарных операторов
- Работа с аргументами командной строки в Python
- Магические методы в Python
- Возвращение нескольких значений
- Многострочные комментарии в Python
- Форматирование строк в Python
- Генерация QR-кодов с библиотекой qrcode
- Повторение элементов в Python
- Добавление вложенных списков
- Форматирование данных с pprint
- Установка максимального количества цифр
- Codecademy в Telegram
- Работа с CSV файлами
- Генерация фальшивых данных с Faker
- Сортировка в Python
- Создание новых списков через list comprehensions
- Транспонирование 2D-массива с помощью zip
- Игра «Виселица» на Python
- Вычисление натурального логарифма в NumPy
- Игра Виселица на Python
- Python: цикл for и оператор присваивания
- Гибкие функции Python
- Работа с необработанными строками
- Работа с коллекциями Python
- Получение частей дроби
- Функциональное программирование в Python
- Метод Event.wait() в Python
- Особенности множеств в Python
- Использование подчеркивания в REPL
- Разность множеств















