Курс 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"
- Сортировка HTML по CSS-селектору
- Работа со слайсами
- Функция enumerate в Python
- Сглаживание списка
- Работа с модулем Calendar
- Dict Comprehension в Python
- Конкатенация строк с помощью join()
- Деление в Python
- Переопределение метода __rshift__
- Использование двоеточия в Python
- Создание списка через цикл
- Сортировка с параметром key
- Цикл while в Python
- Метод rsub для пользовательских чисел
- Преобразование Excel в PDF с Spire.XLS
- Оператор «and» в Python
- Оператор морж в Python 3.8
- Возврат нескольких значений
- Подписка на каналы разработчиков
- Оператор Walrus в Python
- Метод __float__ в Python
- Многопоточность и асинхронное программирование в Python
- Библиотека itertools: объединение списков
- Сортировка в Python
- Создание новых списков в Python
- Метод __ixor__ для побитового исключающего ИЛИ
- Нахождение разницы между списками в Python
- Наследование в программировании
- Работа с кортежами в Python
- Вывод переменной и строки в Python
- Поиск индекса элемента
- Работа со словарями
- Роль запятой в Python
- Генераторы в Python
- Метод Self в Python
- Нарезка списков в Python
- Повторение элементов в Python
- Работа со строками
- Оператор @ для умножения матриц
- Создание генераторов в Python
- Рациональные числа в Python
- Область видимости переменных в Python
- Оператор match в Python















