Курс 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. Подсчет частотности элементов в Python
  2. Перехват исключений в Python
  3. Аннотации типов в Python
  4. Функции map, filter, reduce
  5. Переменная с нижним подчеркиванием
  6. Печать комбинаций в Python с Itertools
  7. Использование модуля math
  8. Python Метод sleep() из time
  9. Поиск наиболее частого элемента списке
  10. Отправка поздравлений по дню рождения
  11. Работа с датами в Python
  12. Colorama: окрашивание текста в Python
  13. Сериализация объектов в Python
  14. Функция product() из itertools
  15. Форматирование строк с помощью f-строк
  16. Создание вложенного генератора
  17. Получение списка кортежей из словаря
  18. Оценка выражений генератора в Python
  19. Изучение объектов с помощью dir()
  20. Функциональное программирование в Python
  21. Генераторные функции в Python
  22. Оператор += для объединения строк
  23. Проверка типов с помощью isinstance
  24. Сортировка с помощью параметра key
  25. Выключение компьютера с помощью Python
  26. Проверка кортежей.
  27. Модуль xkcd: загрузка комиксов
  28. Объединение словарей в Python
  29. Глубокое копирование объектов
  30. Взаимодействие с sys
  31. Обновление множества в Python
  32. Работа с argparse
  33. JSON в Python: модуль, dump, dumps, load
  34. Модуль itertools: эффективная работа с итераторами
  35. Изменения в обработке логических значений
  36. Создание директории в Python
  37. Генераторы данных
  38. Генераторы в Python
  39. Сокращение ссылок с pyshorteners
  40. Python OrderedDict и fromkeys() — работа с словарями
  41. Срезы в Python
  42. Избегайте изменяемых аргументов
  43. Метод сравнения объектов в Python
  44. Получение текущей даты и времени с помощью datetime
  45. Работа с прокси в Python

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