Курс 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"
- Поиск подстроки в строке
- Разделение списка на гнппы
- Оптимизация памяти с __slots__
- Возврат нескольких значений из функции
- Codecademy в Telegram
- Создание виртуальной среды
- Оператор Walrus в Python 3.8
- Генерация случайных чисел в Python
- Обмен данными с asyncio.Queue
- Печать в одной строке
- Установка переменной среды в Python
- Глобальные переменные в Python
- Генерация чисел с range()
- Метод сравнения объектов в Python
- Пространство имен в Python
- 9 уловок для чистого кода
- Списки в Python: основы
- Объединение словарей в Python
- Оператор break в Python
- Defaultdict в Python
- Обработка ошибок в Python
- Лямбда-функции в Python
- Печать комбинаций в Python с Itertools
- Асинхронное программирование с asyncio
- Структуры данных в Python
- Операторы увеличения и уменьшения в Python
- Оптимизация методов в Python 3.7
- Избегание циклических зависимостей классов в Python
- Синтаксис переменных цикла в Python
- Python UserString — создание подклассов строк
- Ускорение выполнения кода в Python
- Создание и операции с дробями
- Поиск с библиотекой Google
- Метод сравнения объектов в Python
- Объединение строк с помощью метода join
- Срез списка в Python
- Оператор объединения словарей
- Удаление ключа из словаря в Python
- Python Метод sleep() из time
- Оператор del в Python
- Защита данных в Python
- Создание и обучение модели с Keras
- Операции с комплексными числами
- Приоритет операций в Python
- Оценка точности модели
- Многострочные комментарии в Python
- Python Менеджер контекста
- Определение индекса элемента списка















