Курс 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"

  1. Метод rmatmul для пользовательских матриц
  2. Парсинг веб-страниц с Beautiful Soup
  3. Создание новых списков в Python
  4. Сравнение неупорядоченных списков
  5. Прокачанный трейсинг ошибок
  6. Python: Фильтрация списков с помощью filter()
  7. Декоратор Ajax required
  8. Передача аргументов в Python
  9. Работа с контекстными менеджерами
  10. Преобразование числа в восьмеричную строку
  11. Отладка производительности Python
  12. Метод __getitem__ в Python
  13. Проверка подстроки в строке
  14. Работа с collections.Counter
  15. Модуль math: основные функции
  16. Генераторы списков
  17. Объединение списков с использованием itertools.chain
  18. Вывод баннеров
  19. Создание виртуальной среды
  20. Комплексные числа в Python
  21. Автоматизация скриптов на AWS Lightsail.
  22. Основы работы со строками в Python
  23. Создание таблиц в Python с PrettyTable
  24. Склеивание строк через метод join()
  25. Оператор «not» в Python
  26. Переворот строки с использованием цикла
  27. Пересечение списков с использованием множеств
  28. Декораторы в Python
  29. Взаимодействие с sys
  30. Проверка кортежей.
  31. Декораторы в Python
  32. Генераторы словарей и множеств
  33. Операции с кортежами
  34. Расчет времени выполнения программы
  35. Метод index() в Python
  36. Расширение информации об ошибке в Python
  37. Генераторные функции в Python
  38. Профилирование с Pandas
  39. Управление сессиями в Python
  40. Считывание бинарного файла в Python
  41. Python и Юникод: работа с цифрами
  42. Работа с набором данных CIFAR10 в PyTorch
  43. Сортировка в Python
  44. Логирование с Logzero: ротация файла
  45. Мониторинг памяти с Pympler
  46. Скрытие вывода данных
  47. Асинхронный код в Python

Marketello читают маркетологи из крутых компаний