Курс 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. Конкатенация строк с join() в Python
  2. Добавление элементов в список
  3. Создание новых списков через list comprehensions
  4. Основные операции с Numpy
  5. Инициализация объекта
  6. ChainMap.new_child() — добавление нового словаря
  7. Создание панели меню Tkinter
  8. Декораторы в Python
  9. Замыкания в Python
  10. Форматирование данных с pprint
  11. Итерации в Python
  12. Операторы сравнения в Python
  13. Генераторы в Python
  14. Метод join для объединения строк
  15. Структурирование данных с Pydantic
  16. Codecademy в Telegram
  17. Объединение Python и Shell
  18. Преобразование в float
  19. Активация Matplotlib в Jupyter
  20. Управление браузером с Selenium
  21. Разработка Telegram-ботов
  22. Генераторы данных
  23. Замена текста с помощью sub
  24. Создание детектора плагиата
  25. Обязательные аргументы в Python
  26. Работа с рекламными данными в Pandas
  27. Использование обратной косой черты в f-строках
  28. Работа со словарями в Python
  29. Копирование объектов в Python
  30. Работа с комплексными числами
  31. Создание копии списка в Python
  32. Python union() функция — объединение множеств
  33. Игра Виселица на Python
  34. Сравнение def и lambda функций в Python
  35. Передача неизвестных аргументов в Python.
  36. Склеивание строк без циклов
  37. Метод bool() в Python
  38. Генерация QR-кодов с библиотекой qrcode
  39. Функции классификации комплексных чисел
  40. Метод splitlines() для разделения строк
  41. Объединение списков в Python.
  42. Обмен значений переменных в Python

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