Курс Python → Создание вложенного генератора

Для создания вложенного генератора внутри генератора в Python используется следующий синтаксис: [[expression for y in x] for x in iterator]. Это позволяет нам пройти по каждому элементу внешнего итерируемого объекта, затем пройти по каждому элементу внутреннего итерируемого объекта и применить к ним выражение expression.

Примером использования вложенных генераторов может быть обход двумерной структуры данных, такой как список списков, и преобразование ее элементов в другую двумерную структуру. Например, у нас есть список списков, представляющий матрицу, и мы хотим создать новую матрицу, умножив каждый элемент на 2:

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
new_matrix = [[x * 2 for x in row] for row in matrix]

В результате выполнения данного кода переменная new_matrix будет содержать следующую двумерную структуру данных: [[2, 4, 6], [8, 10, 12], [14, 16, 18]]. Каждый элемент исходной матрицы был умножен на 2 и сохранен в новой матрице.

Использование вложенных генераторов в Python позволяет нам компактно и элегантно обрабатывать двумерные структуры данных, применяя выражения к их элементам без необходимости использования вложенных циклов. Это делает код более читаемым и понятным, особенно при работе с большими объемами данных.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Аргументы *args и **kwargs
  2. Создание генераторов
  3. Необязательные аргументы в Python
  4. IPython и Jupyter Notebook: руководство
  5. Метод difference_update() — разность множеств
  6. Работа с индексами списков
  7. Настройка вывода в Numpy
  8. Изменение IP-адреса в Python
  9. Экспорт внешнего файла с помощью writefile
  10. Работа с функцией next() в Python
  11. Модуль itertools: эффективная работа с итераторами
  12. Модуль subprocess: запуск внешних команд
  13. Списки в Python: синтаксис представления
  14. Манипуляция формой массива в Numpy
  15. Фильтрация данных в Python.
  16. Повторение и перенос строки
  17. Форматирование объектов с модулем pprint
  18. Генерация чисел с range()
  19. Удаление элементов из списка в Python.
  20. Метод сравнения объектов в Python
  21. Метод join() для объединения элементов строки
  22. Установка и использование Telegram API в Python
  23. Подсказки типов в Python
  24. Работа с типами данных в Python с помощью pydantic.
  25. Декоратор для группы пользователей в Django
  26. Округление банкира в Python
  27. Оператор assert в Python
  28. Изменение списка срезом
  29. Работа с итераторами через срезы
  30. Локальные переменные.
  31. Enum в Python: создание и использование перечислений
  32. Метод ne для сравнения объектов
  33. Курсы Яндекс Практикум
  34. Объединение словарей в Python
  35. Оператор Walrus: правильное использование
  36. Объединение строк с помощью метода join
  37. Оператор морж в Python 3.8
  38. Поиск файлов по шаблону
  39. Класс UserDict: дополнительная функциональность
  40. Создание треугольника Паскаля
  41. Просмотр атрибутов и методов класса
  42. Логирование в Python
  43. Генерация ключей RSA
  44. Удаление файлов в Python
  45. Создание словарей с defaultdict
  46. Метод append() для списка

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