Курс 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
- Работа с JSON в Python
- Метод __float__ в Python
- Оператор Walrus в Python 3.8
- Конкатенация строк в Python
- Оператор «or» в Python
- Подсчет элементов в списке с Counter
- Генерация случайных чисел в Python
- Python 3.12: переиспользование кавычек
- Установка и использование pyshorteners
- Особенности множеств в Python
- Область видимости переменных
- Python: возвращение нескольких значений
- Методы работы со списками
- Деление в Python
- Объединение словарей в Python
- Анонимные функции в Python
- F-строки в Python 3.8
- Декораторы в Python
- Сравнение def и lambda в Python
- Добавление элемента в список.
- Удаление элементов из списка в Python.
- Python Enumerate
- Измерение времени выполнения кода
- Python Метод sleep() из time
- Подчеркивание в REPL
- Цикл for в Python
- Руководство по использованию Colorama
- Замыкания в Python
- Оператор обр. импликации
- Удаление дубликатов в pandas
- Разрешение имен в Python
- Повторение элементов списков
- Улучшенные подсказки для импорта в Python 3.12
- Обновление данных через PUT запрос
- Перевод текста с Python Translator
- Поиск индекса элемента
- Срез в Python
- Поиск уникальных элементов строкой в Python
- Обрезка изображения с Pillow
- Логирование в Python
- Python: цикл for и оператор присваивания
- Python enumerate() использование
- Настройка логгера Logzero
- Функции классификации комплексных чисел















