Курс 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. Метод pos в Python
  2. Переопределение метода __pow__
  3. Сглаживание списка
  4. Бесконечная проверка в Python
  5. GitHub в Telegram: подписка на уведомления
  6. Работа с прокси в Python
  7. Ускоренный импорт библиотек
  8. Работа с комплексными числами в Python
  9. Удаление и повторная вставка ключа в OrderedDict
  10. Вычисление натурального логарифма в NumPy
  11. Передача параметров в Python
  12. Работа с timedelta в Python
  13. Сортировка HTML-элементов
  14. IPython и Jupyter Notebook: руководство
  15. Метод join() для объединения элементов
  16. TypedDict для kwargs в Python 3.12
  17. Список методов и атрибутов
  18. Проверка ввода с помощью isdigit
  19. Создание словарей и множеств в Python
  20. Импорт в Python: список all
  21. Дефолтные параметры в Python
  22. Нахождение максимального значения и его индекса в списке
  23. Генерация чисел с range()
  24. Непрерывная проверка в Python
  25. Преобразование чисел в Python
  26. Инициализация объекта
  27. Управление фоновыми задачами в Python
  28. Избегайте двойного подчеркивания
  29. Декоратор Property в Python
  30. Необязательные аргументы в Python
  31. Enum в Python
  32. Игра «Камень, ножницы, бумага» — Python
  33. Итерации в Python
  34. Метод ipow для возведения в степень
  35. Установка User-Agent в Python
  36. Подсчет элементов с помощью Counter
  37. Просмотр внешних файлов в %pycat
  38. Удаление символов новой строки в Python.
  39. Синхронизация доступа к ресурсам
  40. Импорт модулей и пакетов в Python
  41. Лямбда-функции для min/max
  42. Создание именованных кортежей в Python
  43. Работа с IP-адресами в Python
  44. Проблема с изменяемыми аргументами
  45. Векторизация в Python с NumPy.
  46. Применение команды break
  47. Разделение списка на гнппы
  48. Динамическая типизация в Python

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