Курс 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. Поиск уникальных и повторяющихся элементов
  2. Работа с CSV файлами
  3. Операции с датами в Python
  4. Вычисление разности множеств в Python
  5. Проверка элемента в множестве.
  6. Работа с процессами в Python
  7. Операции с матрицами в Python
  8. Конкатенация строк в Python
  9. Проверка условий в Python
  10. Приближение чисел в Python
  11. Поиск подстроки в строке
  12. Импорт классов из другого файла
  13. Измерение времени выполнения кода
  14. Решатель судоку на Python с pygame
  15. Обработка ошибок в Python
  16. Нахождение разницы между списками в Python
  17. Генераторы списков
  18. Срез в Python
  19. Чтение и запись TOML-конфигов
  20. Использование модуля math
  21. Подписка на Kaspersky Team
  22. Создание копии списка в Python
  23. Оптимизация поиска в словарях
  24. Создание вкладок с TKinter
  25. Избегайте использования goto
  26. Функции высшего порядка в Python
  27. ChainMap.new_child() — добавление нового словаря
  28. Модуль itertools: эффективная работа с итераторами
  29. Работа с библиотекой xkcd
  30. Операторы сравнения в Python
  31. Метод rmatmul для обратного матричного умножения
  32. Создание матрицы в Python
  33. Настройка нарезки списков
  34. Создание списков в Python
  35. Объединение словарей в Python
  36. Модуль sys: основы
  37. Обратное распространение ошибки
  38. Проблема сравнения словарей
  39. Форматирование даты с strftime()
  40. Генерация тестовых данных с factory_boy
  41. Создание объекта времени
  42. Именование переменных в Python
  43. Типы возвращаемых значений в Python
  44. Оператор is в Python

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