Курс 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. Модуль functools в Python
  2. Необязательные аргументы в Python
  3. Создание коллекций из выражения-генератора
  4. Пространство имен в Python
  5. Извлечение статей с newspaper3k
  6. Применение функций в Python
  7. Импорт модуля из другого каталога
  8. Python enumerate() функции
  9. Запуск внешних программ с subprocess
  10. Инверсия списка и строки в Python
  11. Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
  12. Область видимости переменных
  13. Оператор распаковки в Python
  14. Лямбда-функции в Python
  15. Python Enum Weekday Usage
  16. Переопределение унарных операторов
  17. Работа с аргументами командной строки в Python
  18. Магические методы в Python
  19. Возвращение нескольких значений
  20. Многострочные комментарии в Python
  21. Форматирование строк в Python
  22. Генерация QR-кодов с библиотекой qrcode
  23. Повторение элементов в Python
  24. Добавление вложенных списков
  25. Форматирование данных с pprint
  26. Установка максимального количества цифр
  27. Codecademy в Telegram
  28. Работа с CSV файлами
  29. Генерация фальшивых данных с Faker
  30. Сортировка в Python
  31. Создание новых списков через list comprehensions
  32. Транспонирование 2D-массива с помощью zip
  33. Игра «Виселица» на Python
  34. Вычисление натурального логарифма в NumPy
  35. Игра Виселица на Python
  36. Python: цикл for и оператор присваивания
  37. Гибкие функции Python
  38. Работа с необработанными строками
  39. Работа с коллекциями Python
  40. Получение частей дроби
  41. Функциональное программирование в Python
  42. Метод Event.wait() в Python
  43. Особенности множеств в Python
  44. Использование подчеркивания в REPL
  45. Разность множеств

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