Курс 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. Множественное наследование в Python
  2. Секреты Python
  3. Иерархия классов в Python
  4. Python Enumerate
  5. Функция enumerate() в Python
  6. Оптимизация памяти с slots
  7. Тернарный оператор в Python
  8. Работа с defaultdictами в Python
  9. Progress с библиотекой tqdm
  10. Итерация по коллекции в Python
  11. Проверка условий: all и any
  12. Метод bool() в Python
  13. Переопределение метода sub
  14. Показ всплывающих окон Tkinter
  15. Избегание циклических зависимостей классов в Python
  16. Генерация ключей RSA
  17. Получение частей дроби
  18. Применение функции map() с лямбда-функциями
  19. Область видимости переменных в Python
  20. Удаление элемента из списка
  21. Основные функции и модули Python
  22. Работа с процессами в Python
  23. Вызов внешних программ в Python с помощью sh
  24. Работа со строками
  25. Оператор += в Python
  26. Управление импортом в Python
  27. Поиск уникальных элементов строкой в Python
  28. Оптимизация памяти с помощью __slots__
  29. Декоратор Property в Python
  30. Простой калькулятор Python
  31. Экспорт функций в Python
  32. Названия переменных
  33. Многострочные комментарии в Python
  34. Получение локальных переменных в Python
  35. Создание списка через цикл
  36. Блок else в циклах Python
  37. Оператор «not» в Python
  38. Python Translator: создание локальных переводчиков
  39. Форматирование строк в Python
  40. Отображение HTML кода в Python
  41. Списковое включение в Python
  42. Передача неизвестных аргументов в Python.
  43. Вывод сложных структур данных с помощью pprint
  44. Анонимные функции Lambda
  45. Создание множества в Python
  46. Форматирование строк в Python
  47. Блок try…finally в Python

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