Курс 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. Monkey Patching в Python
  2. Идентификатор объекта в Python
  3. Метод get() для словарей
  4. Изменение списка срезом
  5. Оператор * в Python
  6. Документирование функций в Python
  7. Поиск элементов BeautifulSoup
  8. Функция zip() для объединения списков
  9. Создание лямбда-функций
  10. Форматирование заголовков в Python
  11. Реализация операции -= для пользовательского класса
  12. Подсчет элементов с помощью Counter из collections
  13. Оператор деления для класса Rational
  14. Установка Python3.7 и PIP
  15. Циклы for в Python
  16. Анализ кода — Python
  17. Работа с YAML в Python
  18. Математические функции в Python
  19. Работа с collections.Counter
  20. Хешируемые ключи в Python
  21. Проверка на палиндром
  22. Создание новых списков через list comprehensions
  23. Сортировка слиянием
  24. Управление импортом в Python
  25. Сохранение Unicode в JSON
  26. Отрицательные индексы списков в Python
  27. Создание новых списков в Python
  28. Метод __complex__ в Python
  29. Применение команды break
  30. Работа со слайсами
  31. Оператор обр. импликации
  32. Python: изменяемые и неизменяемые коллекции
  33. Хранение данных
  34. Функция reversed() в Python
  35. Поиск шаблона в начале строки
  36. Генерация строк с .join()
  37. Работа с модулем Calendar
  38. Управление пакетами с pip
  39. Метод __irshift__ для побитового сдвига вправо
  40. Оператор морж в Python 3.8
  41. Работа со случайными элементами
  42. Поиск простых чисел
  43. Big O оптимизация
  44. Функции map, filter и reduce
  45. Проверка версии Python
  46. ROT13 Шифр Цезаря в Python

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