Курс 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"
- Запрос DELETE с библиотекой requests
- Итерации в Python
- Простой калькулятор Python
- Циклы в Python
- Методы classmethod и staticmethod
- Создание функций с произвольным количеством аргументов
- Функция reversed() в Python
- Подсчет количества элементов в списке
- Любовь к Python
- Копирование и вставка текста в Python
- CLI-инструмент howdoi
- Метод __ixor__ для побитового исключающего ИЛИ
- Оператор Walrus в Python
- Генерация фальшивых данных с Faker
- Сортировка элементов в Python
- Векторизация в Python с NumPy.
- Сортировка слиянием
- Виртуальное окружение Python
- Преобразование данных в Python
- Работа с срезами в Numpy
- Роль запятой в Python
- Выборка чисел
- Работа с enumerate()
- Использование эмодзи в Python
- Ветвление выражения в Python
- Приоритет операций в Python
- Преобразование списков в словарь
- Работа со словарями с defaultdict из collections
- Работа с WindowsPath()
- Асинхронное программирование с asyncio
- Работа с многоуровневыми словарями в Python
- Класс-оболочка для словарей
- Docstring в Python
- Метод join для объединения строк
- Перемешивание списка с shuffle()
- Управление импортом в Python
- Преобразование строки в число
- Colorama: окрашивание текста в Python
- Python Метод sleep() времени
- Генераторы и сеты в Python
- inspect в Python: анализ кода
- Измерение времени выполнения кода с помощью time
- Поиск самого длинного слова в списке с использованием max()
- Работа с базами данных SQLite
- Генерация случайных чисел в Python
- Функции all и any в Python















