Курс 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__
- Вывод баннеров
- Переворот строки с использованием цикла
- Ограничение итераций в Python
- Создание директории в Python
- Объявление переменных в Python
- Форматирование даты с strftime()
- Magic Commands — улучшение работы с Python
- Работа с *args и **kwargs в Python
- Транспонирование матрицы в Python
- Создание словаря через dict comprehension
- Измерение времени выполнения с помощью time
- Запрос пароля с помощью getpass
- Метод rsub для пользовательских чисел
- Вывод букв строки в Python
- Печать календаря в Python
- Автоматизация действий с Pyautogui
- Цикл for с enumerate() в Python
- Создание новых списков
- Заказ карты Тинькофф Black
- Импорт и использование модулей в Python
- Метод join() для объединения элементов в строку.
- Генерация QR-кодов с Python
- Настройка Cron
- Работа с collections.Counter
- Оператор assert в Python
- Итерация по коллекции в Python
- Функциональное программирование в Python
- Вызов функций по строке в Python.
- Оптимизация создания строк
- Магические методы в Python
- Операторы += в Python
- Получение значений из словарей
- Использование модуля math
- Сравнение строк в Python
- Замена текста в Python
- Разделение строки на подстроки в Python
- Обработка ошибок ввода данных
- Символ подчеркивания в Python
- Выборка чисел
- Вычисление натуральных логарифмов в NumPy
- Логические значения в Python
- Установка User-Agent в Python
- Сортировка в Python
- Переменная с нижним подчеркиванием
- Цикл for в Python
- Генерация случайных чисел Python















