Курс 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. Функция reduce() в Python
  2. Работа с файлами в Python
  3. Загрузка постов Instagram
  4. Множественное назначение в Python
  5. Установка пакетов с помощью pip
  6. Форматирование данных с pprint
  7. Создание генераторов в Python
  8. Активация Matplotlib в Jupyter
  9. %pinfo: получение информации об объекте
  10. Codecademy в Telegram
  11. Использование type hints
  12. Избегайте ошибку FileNotFoundError
  13. Генераторы данных
  14. Многострочные комментарии в Python
  15. Преобразование числа в восьмеричную строку
  16. Встраивание HTML в Jupyter Notebook
  17. Работа с модулем Calendar
  18. Обработка данных в Python
  19. Функции map() и reduce() в Python
  20. Использование defaultdict в Python
  21. Progress с библиотекой tqdm
  22. Срез списка в Python
  23. Метод __iand__ для пользовательских классов
  24. Генераторы в Python
  25. Преобразование символов в нижний регистр
  26. Присвоение значений переменным в Python
  27. Работа со строками в Python
  28. Определение объема памяти объекта
  29. Работа с массивами в Python
  30. Декораторы в Python
  31. Логирование с Logzero
  32. Метод pop() списка
  33. Метод rlshift для битового сдвига
  34. Обмен переменными в Jupyter
  35. Генераторы в Python
  36. Комментарии в Python
  37. Поиск простых чисел
  38. Удаление ключа из словаря
  39. Метод ne для сравнения объектов
  40. Оператор += в Python
  41. Иерархия классов в Python
  42. Использование подчеркивания в REPL
  43. Многострочные строки в Python
  44. Декораторы в Python
  45. Работа с deque из collections
  46. Решатель судоку на Python с pygame
  47. Потоковый ввод в Python
  48. Создание генераторов

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