Курс 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"
- Генераторы по генератору
- Получение размера объекта с sys.getsizeof()
- Работа с deque из collections
- Декоратор для группы пользователей в Django
- Создание и операции с дробями
- Пропуск начальных строк с помощью dropwhile()
- Модуль os: работа с файлами и папками
- Создание множества в Python
- Явный импорт переменных
- Метод title() в Python
- Установка и использование pyshorteners
- Округление банкира в Python
- Работа с комбинациями в Python.
- Имена объектов в Python
- Блок else в циклах Python
- Извлечение чисел из текста
- Создание новых списков в Python
- Логические значения в Python
- Генераторы в Python
- Метод gt в Python
- Библиотека schedule: планировщик задач
- Перевод эмодзи и эмотиконов.
- Функция enumerate в Python
- Вывод сложных структур данных с помощью pprint
- Избегайте двойного подчеркивания
- Присоединение элементов коллекции
- Преобразование строк в числа в Python
- Работа с JSON данными в Python
- Протокол управления контекстом
- Отрицательные индексы списков в Python
- Создание списков в Python
- Экранирование символов в Python
- Метод add для класса Vector
- Добавление кнопки в tkinter
- Проверка типа данных
- Аргумент по умолчанию
- Работа с файловой системой в Python
- Преобразование в float
- Перевод двоичного кода в целое число
- Функции min(), max(), sum()
- Работа с комплексными числами
- Реверс строки и списка в Python.
- Работа с Path в Python
- Хранение данных
- Склеивание строк через метод join()
- Проверка класса объекта
- Модуль functools в Python















