Курс 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. TypedDict для kwargs в Python 3.12
  2. Замена подстроки
  3. Цикл while в Python
  4. Разделение функций на этапы
  5. Установка и использование emoji
  6. Удаление элементов из списка в Python.
  7. Метод __float__ в Python
  8. Преобразование данных в Python
  9. Запрос DELETE с библиотекой requests
  10. Преобразование строк в числа в Python
  11. f-строки в формате строк
  12. Извлечение аудио из видео
  13. Управление браузером с Selenium
  14. Тест скорости набора текста на Python
  15. Создание списков в Python
  16. Проверка однородности элементов списка
  17. Частичное совпадение ввода
  18. Измерение времени выполнения кода
  19. Применение функции к списку
  20. Удаление первого элемента списка
  21. Перемещение и удаление файлов в Python
  22. Метод __int__ в Python
  23. Оператор объединения словарей
  24. Генераторные функции в Python
  25. Работа с парами ключ-значение
  26. Пропуск начальных строк с помощью dropwhile()
  27. Управление User-Agent в Python
  28. Сравнение строк в Python
  29. PATCH-запрос с библиотекой requests
  30. Капитализация строк
  31. Декораторы в Python
  32. Частичное применение функций в Python
  33. Принципы программирования
  34. Проверка типов с использованием isinstance
  35. Деление в Python
  36. Вывод букв строки в Python
  37. Модуль subprocess: запуск внешних команд
  38. Создание Radio кнопок в tkinter
  39. Разбиение текста в Python
  40. ROT13 Шифр Цезаря в Python
  41. Преобразование документов в PDF с помощью Spire.Office
  42. Эффективная конкатенация строк с использованием join()
  43. Обход словаря в Python
  44. split() без разделителя
  45. Переименование файлов в Python
  46. Импорт и использование модулей в Python
  47. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность

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