Курс Python → Генераторные выражения и islice.

Генераторные выражения — это компактный способ создания итерируемых объектов в Python. Они позволяют нам создавать последовательности значений без необходимости создавать список в памяти. Генераторные выражения очень удобны, когда нам нужно обработать большой объем данных или когда мы работаем с бесконечными последовательностями.

Для использования генераторных выражений нам необходимо знать синтаксис. Мы используем круглые скобки вместо квадратных, как при создании списка. Например, вместо [x for x in range(10)] мы напишем (x for x in range(10)). Это позволяет нам создать генераторное выражение, которое будет возвращать значения по мере необходимости, а не сразу создавать весь список.

Для получения среза значений из генераторного выражения мы можем использовать функцию islice из модуля itertools. Эта функция возвращает итератор по срезу значений из итерируемого объекта. Например, если у нас есть генераторное выражение (x for x in range(10)), мы можем использовать islice, чтобы получить только первые 5 значений.

from itertools import islice

gen_expr = (x for x in range(10))
sliced_values = islice(gen_expr, 5)

for val in sliced_values:
    print(val)

В данном примере мы создаем генераторное выражение, которое генерирует значения от 0 до 9. Затем мы используем функцию islice, чтобы получить только первые 5 значений из этого генераторного выражения. Наконец, мы перебираем полученные значения и выводим их на экран.

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

Автор урока

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

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

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

  1. Метод __complex__ в Python
  2. Множественное наследование в Python
  3. Создание словаря в Python
  4. Аннотации типов в Python
  5. Управление экспортом элементов
  6. Создание класса очереди
  7. Глобальные переменные в Python
  8. Преобразование символов с помощью map
  9. Установка пакетов с помощью pip
  10. Компиляция регулярных выражений
  11. Работа с модулем bisect
  12. Генерация QR-кодов с библиотекой qrcode
  13. Создание виртуальной среды
  14. Многострочные комментарии в Python
  15. Работа с collections в Python.
  16. Модуль inspect: получение информации о объектах
  17. Копирование в Python
  18. Создание списков в Python
  19. Конкатенация списков в Python
  20. Подсчет элементов в Python
  21. Область видимости переменных
  22. Функция findall() для поиска вхождений строки
  23. Оптимизация памяти с __slots__
  24. Философия Python
  25. Вывод баннеров
  26. Возвращение нескольких значений через кортеж или класс
  27. Ускорение выполнения кода в Python
  28. Создание обратного итератора
  29. Создание копии итератора
  30. Функции any() и all() в Python
  31. Сравнение def и lambda в Python
  32. Работа с YAML в Python: PyYAML.
  33. Срезы в Python
  34. Запуск внешних программ с subprocess
  35. Поиск индекса элемента в списке
  36. Преобразование range в итератор
  37. Python enumerate() для работы с индексами
  38. Определение объема памяти объекта
  39. Запуск файлового сервера
  40. Замена атрибута в именованном кортеже
  41. Контроль точности вывода чисел
  42. Аннотации типов в Python
  43. Подсчет элементов с помощью Counter
  44. Обрезка изображения с Pillow
  45. Хеши в Python
  46. Фильтрация списков с itertools
  47. Python UserString — создание подклассов строк

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