Курс 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. Сравнение def и lambda-функций
  2. Метод index() в Python
  3. Изменение регистра данных
  4. Метод rename() для переименования файлов и каталогов
  5. Работа с deque из collections
  6. Метод __getitem__ в Python
  7. Функция product() в Python
  8. Вызов внешних программ в Python с помощью sh
  9. Получение атрибутов и методов класса
  10. Циклы for в Python
  11. Генерация ключей RSA
  12. Преобразование списков в словарь
  13. Python и Юникод: работа с цифрами
  14. Вычисление фазы комплексного числа
  15. Операции с датами в Python
  16. Генераторы в Python
  17. Numpy: использование Ellipsis
  18. Переворот строки
  19. Просмотр внешнего файла в Python
  20. Улучшенные подсказки для импорта в Python 3.12
  21. Операции с кортежами
  22. Отслеживание выполнения программы с библиотекой tqdm
  23. Пересечение списков с использованием множеств
  24. Принципы Zen Python
  25. Модуль math: основные функции
  26. Создание и удаление объектов
  27. Функции map() и reduce() в Python
  28. Динамическая типизация в Python
  29. Декораторы для регистрации функций
  30. Работа с deque из collections
  31. Использование функции enumerate()
  32. Работа с collections в Python
  33. Функция rsplit() в Python
  34. Объединение словарей в Python
  35. Поиск кода
  36. Генераторы данных
  37. Копирование словарей и списков в Python
  38. Обратный список чисел
  39. Форматирование вывода с F-строками
  40. Счетчик ссылок в Python
  41. Удаление дубликатов из списка с помощью dict.fromkeys
  42. Метод join() для объединения элементов строки
  43. Декораторы в Python
  44. Создание словарей в Python
  45. Работа с IP-адресами в Python

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