Курс 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. Получение ID текущего процесса
  2. Фильтрация списков с itertools
  3. Управление сессиями в Python
  4. capitalize() — изменение регистра первого символа строки
  5. Получение имени функции с помощью inspect
  6. Создание обратного итератора
  7. Установка и использование emoji
  8. Создание коллекций из генератора
  9. Метод count() для списка
  10. Метод rlshift для битового сдвига
  11. Модуль itertools: комбинации и перестановки
  12. Зарезервированные слова в Python
  13. Установка и использование модуля «howdoi»
  14. Обновление данных через PUT запрос
  15. Именование столбцов в Python с pandas
  16. Проверка типа объекта в Python
  17. Python Тесты и Гайды
  18. Отладка утечек памяти в Python
  19. Сохранение Unicode в JSON
  20. Оператор in в Python
  21. Поиск кода
  22. Курсы Яндекс Практикум
  23. Работа с срезами в Numpy
  24. Создание словарей с defaultdict()
  25. Округление банкира в Python
  26. Работа с SQLite в Python
  27. Объединение списков в Python
  28. Defaultdict в Python
  29. Измерение времени выполнения кода
  30. Python: цикл for и оператор присваивания
  31. Логирование в Python
  32. Метод join() для объединения элементов строки
  33. Работа со словарями
  34. Счетчик ссылок в Python
  35. Загрузка постов Instagram
  36. Импорт и использование модулей в Python
  37. Enum в Python: создание и использование перечислений
  38. Непрерывная проверка в Python
  39. Функция с **kwargs в Python
  40. Python reversed() vs срез[::-1]
  41. split() без разделителя
  42. Инициализация объекта
  43. Объединение словарей в Python
  44. Конкатенация строк с помощью join()
  45. Библиотека Rich: форматирование текста
  46. Определение наиболее частого элемента с помощью collections.Counter
  47. Отладка кода

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