Курс 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. Получение размера объекта с sys.getsizeof()
  3. Работа с deque из collections
  4. Декоратор для группы пользователей в Django
  5. Создание и операции с дробями
  6. Пропуск начальных строк с помощью dropwhile()
  7. Модуль os: работа с файлами и папками
  8. Создание множества в Python
  9. Явный импорт переменных
  10. Метод title() в Python
  11. Установка и использование pyshorteners
  12. Округление банкира в Python
  13. Работа с комбинациями в Python.
  14. Имена объектов в Python
  15. Блок else в циклах Python
  16. Извлечение чисел из текста
  17. Создание новых списков в Python
  18. Логические значения в Python
  19. Генераторы в Python
  20. Метод gt в Python
  21. Библиотека schedule: планировщик задач
  22. Перевод эмодзи и эмотиконов.
  23. Функция enumerate в Python
  24. Вывод сложных структур данных с помощью pprint
  25. Избегайте двойного подчеркивания
  26. Присоединение элементов коллекции
  27. Преобразование строк в числа в Python
  28. Работа с JSON данными в Python
  29. Протокол управления контекстом
  30. Отрицательные индексы списков в Python
  31. Создание списков в Python
  32. Экранирование символов в Python
  33. Метод add для класса Vector
  34. Добавление кнопки в tkinter
  35. Проверка типа данных
  36. Аргумент по умолчанию
  37. Работа с файловой системой в Python
  38. Преобразование в float
  39. Перевод двоичного кода в целое число
  40. Функции min(), max(), sum()
  41. Работа с комплексными числами
  42. Реверс строки и списка в Python.
  43. Работа с Path в Python
  44. Хранение данных
  45. Склеивание строк через метод join()
  46. Проверка класса объекта
  47. Модуль functools в Python

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