Курс 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. Измерение времени выполнения кода
  2. Подсказки типов в Python
  3. Работа с изображениями Pillow
  4. Создание списка через цикл
  5. Преобразование символов с помощью map
  6. Декодирование байтов в строку
  7. Декораторы в Python
  8. Автоматизация скриптов на AWS Lightsail.
  9. Оператор Walrus в Python
  10. Поиск кода
  11. Операции с числами в Python
  12. Ускорение кода с помощью векторизации
  13. Создание вкладок с TKinter
  14. Метод Event.wait() в Python
  15. Вложенные генераторы в Python
  16. Структурирование именованных констант
  17. Форматирование строк с помощью f-строк
  18. Непрерывная проверка в Python
  19. Генератор чисел Фибоначчи
  20. Генератор данных в Keras
  21. Работа с deque в Python
  22. Создание графиков в терминале
  23. Декораторы с аргументами в Python
  24. Метод __index__ в Python
  25. Модуль os: работа с файлами и папками
  26. Вывод букв строки в Python
  27. Конкатенация строк с методом join()
  28. Запуск файлового сервера
  29. Объединение списков в Python
  30. Инициализация переменных
  31. Работа с collections в Python.
  32. Метод append() для списка
  33. Работа с библиотекой xkcd
  34. Тип данных TypeVarTuple
  35. Модуль math: константы π и e
  36. Копирование словарей и списков в Python
  37. Объединение словарей в Python
  38. Объединение итераторов
  39. Создание коллекций из генератора
  40. Сумма элементов списка
  41. Функция с *args.
  42. Конкатенация строковых литералов
  43. Передача параметров в Python
  44. Расчет времени выполнения программы
  45. Подсчет элементов в списке с Counter
  46. Экспорт данных в файл.

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