Курс 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. Объединение итераторов
  2. Регистрация на курсы SF Education
  3. Введение в Python
  4. Транспонирование 2D-массива с помощью zip
  5. Сортировка с помощью key
  6. Работа с комбинациями в Python.
  7. Экспорт данных с помощью writefile
  8. Удаление эмодзи с помощью pandas
  9. Получение текущей даты и времени с помощью datetime
  10. Перебор элементов списка в Python
  11. Оператор распаковки в Python
  12. Операторы объединения в Python 3.9
  13. Метод Self в Python
  14. Отладка в Python
  15. Создание объекта timedelta
  16. Хеширование паролей с использованием salt
  17. Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
  18. Оптимизация памяти с __slots__
  19. Оператор Walrus: правильное использование
  20. Разделение строки с помощью re.split()
  21. Область видимости переменных
  22. Добавление элементов в список
  23. Метод pos в Python
  24. Работа с коллекциями Python
  25. Контроль точности вывода чисел
  26. Установка пакета в Python
  27. Установка и использование библиотеки google
  28. Хеширование паролей с солью
  29. Модуль pprint
  30. Отслеживание прогресса с tqdm
  31. Метод rsub в Python: расширение функциональности вычитания
  32. Метод setitem в Python
  33. Использование super() в Python
  34. Перегрузка операторов в Python
  35. Оптимизация создания строк
  36. Создание новых списков в Python
  37. Работа с пользовательским вводом
  38. Мощь вложенных функций в Python
  39. Создание итерируемых объектов
  40. Поиск с помощью регулярных выражений
  41. Хранение переменных в словаре.
  42. Сравнение объектов в Python
  43. Функции-генераторы в Python
  44. Избегайте ошибку FileNotFoundError

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