Курс Python → Вложенные генераторы в Python
При использовании вложенных генераторов в Python вы можете создать двумерную структуру данных из двух одномерных итераторов. Общий синтаксис для этого выглядит следующим образом: [[expression for y in iter2] for x in iter1]. Этот синтаксис позволяет вам использовать выражение для каждого элемента второго итератора iter2 при обходе элементов первого итератора iter1.
Например, если у вас есть два списка чисел numbers1 = [1, 2, 3] и numbers2 = [4, 5, 6], и вы хотите создать двумерный список, содержащий произведения элементов этих списков, вы можете использовать вложенный генератор следующим образом:
numbers1 = [1, 2, 3] numbers2 = [4, 5, 6] result = [[x * y for y in numbers2] for x in numbers1] print(result)
В результате выполнения этого кода вы получите двумерный список [[4, 5, 6], [8, 10, 12], [12, 15, 18]], где каждый элемент получен путем умножения элементов соответствующих позиций из numbers1 и numbers2.
Использование вложенных генераторов в Python позволяет вам компактно и элегантно создавать двумерные структуры данных из одномерных итераторов, что может быть полезно в различных сценариях программирования, например, при работе с матрицами, таблицами или другими структурами, требующими двумерного представления данных.
Другие уроки курса "Python"
- Сравнение def и lambda-функций
- Метод index() в Python
- Изменение регистра данных
- Метод rename() для переименования файлов и каталогов
- Работа с deque из collections
- Метод __getitem__ в Python
- Функция product() в Python
- Вызов внешних программ в Python с помощью sh
- Получение атрибутов и методов класса
- Циклы for в Python
- Генерация ключей RSA
- Преобразование списков в словарь
- Python и Юникод: работа с цифрами
- Вычисление фазы комплексного числа
- Операции с датами в Python
- Генераторы в Python
- Numpy: использование Ellipsis
- Переворот строки
- Просмотр внешнего файла в Python
- Улучшенные подсказки для импорта в Python 3.12
- Операции с кортежами
- Отслеживание выполнения программы с библиотекой tqdm
- Пересечение списков с использованием множеств
- Принципы Zen Python
- Модуль math: основные функции
- Создание и удаление объектов
- Функции map() и reduce() в Python
- Динамическая типизация в Python
- Декораторы для регистрации функций
- Работа с deque из collections
- Использование функции enumerate()
- Работа с collections в Python
- Функция rsplit() в Python
- Объединение словарей в Python
- Поиск кода
- Генераторы данных
- Копирование словарей и списков в Python
- Обратный список чисел
- Форматирование вывода с F-строками
- Счетчик ссылок в Python
- Удаление дубликатов из списка с помощью dict.fromkeys
- Метод join() для объединения элементов строки
- Декораторы в Python
- Создание словарей в Python
- Работа с IP-адресами в Python















