Курс 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"
- Поиск уникальных и повторяющихся элементов
- Работа с CSV файлами
- Операции с датами в Python
- Вычисление разности множеств в Python
- Проверка элемента в множестве.
- Работа с процессами в Python
- Операции с матрицами в Python
- Конкатенация строк в Python
- Проверка условий в Python
- Приближение чисел в Python
- Поиск подстроки в строке
- Импорт классов из другого файла
- Измерение времени выполнения кода
- Решатель судоку на Python с pygame
- Обработка ошибок в Python
- Нахождение разницы между списками в Python
- Генераторы списков
- Срез в Python
- Чтение и запись TOML-конфигов
- Использование модуля math
- Подписка на Kaspersky Team
- Создание копии списка в Python
- Оптимизация поиска в словарях
- Создание вкладок с TKinter
- Избегайте использования goto
- Функции высшего порядка в Python
- ChainMap.new_child() — добавление нового словаря
- Модуль itertools: эффективная работа с итераторами
- Работа с библиотекой xkcd
- Операторы сравнения в Python
- Метод rmatmul для обратного матричного умножения
- Создание матрицы в Python
- Настройка нарезки списков
- Создание списков в Python
- Объединение словарей в Python
- Модуль sys: основы
- Обратное распространение ошибки
- Проблема сравнения словарей
- Форматирование даты с strftime()
- Генерация тестовых данных с factory_boy
- Создание объекта времени
- Именование переменных в Python
- Типы возвращаемых значений в Python
- Оператор is в Python















