Курс 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"
- Списковое включение в Python
- Объединение списков в Python
- Сложные типы данных в Python
- Иерархия классов в Python
- Основные операции с Numpy
- Выражения-генераторы в Python
- Вложенные функции в Python
- Область видимости переменных в Python
- Поиск всех индексов подстроки
- Определение локальных переменных в Python
- Работа со стеком в Python
- Списковое включение в Python
- Модуль os: работа с файлами и папками
- Перевернуть список в Python
- Создание задания в Cron
- Возведение в квадрат с помощью itertools
- Обмен данными с asyncio.Queue
- Работа с Telegram API на Python
- Установка и использование Logzero
- Генераторы в Python
- Математические функции в Python
- Форматирование строк в Python
- Функции в Python
- Запрос пароля с помощью getpass
- Запуск асинхронной корутины
- Возврат нескольких значений из функции
- Поиск индекса элемента
- Поиск частых элементов в списке
- Нахождение отличий в списках
- Применение функции к списку
- Работа с файлами и директориями в Python.
- Работа с timedelta
- Типы возвращаемых значений в Python
- Открытие и запись файлов
- Создание веб-приложения с Flask
- Метод setdefault() в Python
- Реализация операции -= для пользовательского класса
- Очистка вывода в Python
- История Python
- Создание словаря через dict comprehension
- Конкатенация списков в Python
- Пространство имен в Python
- Фильтрация входных данных в Python
- Открытие, чтение и закрытие файла
- Работа с коллекциями Python
- Работа с itertools
- Оператор * в Python
- Функция format() в Python
- Расширение операции побитового «и» в Python
- Распаковка значений в Python















