Курс 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. Работа с JSON в Python
  3. Метод __float__ в Python
  4. Оператор Walrus в Python 3.8
  5. Конкатенация строк в Python
  6. Оператор «or» в Python
  7. Подсчет элементов в списке с Counter
  8. Генерация случайных чисел в Python
  9. Python 3.12: переиспользование кавычек
  10. Установка и использование pyshorteners
  11. Особенности множеств в Python
  12. Область видимости переменных
  13. Python: возвращение нескольких значений
  14. Методы работы со списками
  15. Деление в Python
  16. Объединение словарей в Python
  17. Анонимные функции в Python
  18. F-строки в Python 3.8
  19. Декораторы в Python
  20. Сравнение def и lambda в Python
  21. Добавление элемента в список.
  22. Удаление элементов из списка в Python.
  23. Python Enumerate
  24. Измерение времени выполнения кода
  25. Python Метод sleep() из time
  26. Подчеркивание в REPL
  27. Цикл for в Python
  28. Руководство по использованию Colorama
  29. Замыкания в Python
  30. Оператор обр. импликации
  31. Удаление дубликатов в pandas
  32. Разрешение имен в Python
  33. Повторение элементов списков
  34. Улучшенные подсказки для импорта в Python 3.12
  35. Обновление данных через PUT запрос
  36. Перевод текста с Python Translator
  37. Поиск индекса элемента
  38. Срез в Python
  39. Поиск уникальных элементов строкой в Python
  40. Обрезка изображения с Pillow
  41. Логирование в Python
  42. Python: цикл for и оператор присваивания
  43. Python enumerate() использование
  44. Настройка логгера Logzero
  45. Функции классификации комплексных чисел

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