Курс Python → Оценка выражений генератора в Python

При работе с выражениями генератора в Python важно понимать разницу во времени оценки части кода. В случае использования ключевого слова «in» в выражении генератора, это выражение будет вычислено во время объявления, до начала выполнения программы. Однако условное предложение, определяющее фильтрацию элементов, будет вычислено во время выполнения программы, когда уже известны значения переменных.

Давайте рассмотрим пример. У нас есть массив (список) array = [1, 8, 15] и генератор, который фильтрует элементы по условию, что значение больше 0. Перед выполнением программы переменной array присваивается список [2, 8, 22]. После этого генератор начинает работу и, так как только значение 8 удовлетворяет условию больше 0, генератор вернет только число 8.

array = [1, 8, 15]
array = [2, 8, 22]
result = (x for x in array if x > 0)
for value in result:
    print(value)

Таким образом, важно помнить, что при работе с генераторами в Python выражение, использующее ключевое слово «in», будет вычислено на этапе объявления, а условное предложение — во время выполнения программы. Это позволяет более гибко фильтровать элементы массива и обрабатывать их в зависимости от текущего контекста программы.

Использование генераторов в Python помогает сделать код более компактным и эффективным, позволяя одновременно объявлять и фильтровать элементы коллекций. Понимание особенностей времени оценки выражений в генераторах позволяет более глубоко понять принципы работы языка и эффективно использовать его в разработке программного обеспечения.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Необязательные аргументы в Python
  2. Преобразование PowerPoint в PDF.
  3. Однострочники Python
  4. Хеширование паролей с солью
  5. Magic Commands — улучшение работы с Python
  6. Замена подстроки
  7. Метод repr() в Python
  8. Подробная информация о %pinfo
  9. Команда %dhist — список посещенных каталогов
  10. Создание итерируемых объектов
  11. Принципы Zen of Python
  12. Обновление и получение данных в SQLite
  13. Поиск шаблона в строке
  14. Руководство по библиотеке pydantic
  15. Форматирование вывода списков
  16. Создание уникального проекта
  17. Избегание циклических зависимостей классов в Python
  18. Создание и использование ChainMap
  19. Оператор in для проверки наличия элемента
  20. Удаление специальных символов с помощью re.sub
  21. Функция map() и ленивая оценка
  22. Список переменных в Python
  23. Оптимизация интернирования строк
  24. Сравнение строк в Python
  25. Копирование объектов в Python
  26. Измерение потребления памяти при сортировке
  27. Разрешение имен в Python
  28. Хешируемые ключи в Python
  29. Множества и frozenset
  30. Цикл for в Python
  31. Импорт объектов из модулей
  32. Аннотации типов в Python
  33. Декораторы в Python
  34. Структурирование данных с Pydantic
  35. Управление браузером с Selenium
  36. Декораторы с аргументами
  37. Метод pop() списка
  38. Удаление элементов во время итерации
  39. Использование метода lower()
  40. Декораторы в Python
  41. JSON-esque в Python
  42. Работа с часовыми поясами в Python.
  43. Конкатенация строк с join() в Python
  44. Регистрация на курсы SF Education
  45. Форматирование строк в Python
  46. Преобразование регистра строк

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