Курс 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"
- TypedDict для kwargs в Python 3.12
- Замена подстроки
- Цикл while в Python
- Разделение функций на этапы
- Установка и использование emoji
- Удаление элементов из списка в Python.
- Метод __float__ в Python
- Преобразование данных в Python
- Запрос DELETE с библиотекой requests
- Преобразование строк в числа в Python
- f-строки в формате строк
- Извлечение аудио из видео
- Управление браузером с Selenium
- Тест скорости набора текста на Python
- Создание списков в Python
- Проверка однородности элементов списка
- Частичное совпадение ввода
- Измерение времени выполнения кода
- Применение функции к списку
- Удаление первого элемента списка
- Перемещение и удаление файлов в Python
- Метод __int__ в Python
- Оператор объединения словарей
- Генераторные функции в Python
- Работа с парами ключ-значение
- Пропуск начальных строк с помощью dropwhile()
- Управление User-Agent в Python
- Сравнение строк в Python
- PATCH-запрос с библиотекой requests
- Капитализация строк
- Декораторы в Python
- Частичное применение функций в Python
- Принципы программирования
- Проверка типов с использованием isinstance
- Деление в Python
- Вывод букв строки в Python
- Модуль subprocess: запуск внешних команд
- Создание Radio кнопок в tkinter
- Разбиение текста в Python
- ROT13 Шифр Цезаря в Python
- Преобразование документов в PDF с помощью Spire.Office
- Эффективная конкатенация строк с использованием join()
- Обход словаря в Python
- split() без разделителя
- Переименование файлов в Python
- Импорт и использование модулей в Python
- Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность















