Курс 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. Concrete Paths — метод .with_suffix()
  3. Удаление первого элемента списка
  4. Конкатенация строк с join() в Python
  5. Работа с функцией next() в Python
  6. Преобразование списка в словарь через генератор
  7. Объединение списков в Python
  8. Работа с контекстными менеджерами
  9. Списки: объединение, изменение
  10. Оптимизация поиска в словарях
  11. Комплексные числа в Python
  12. Работа с множествами в Python
  13. Импорт в Python: список all
  14. Нан-рефлексивность в Python
  15. Переворот списка в Python
  16. ChainMap.new_child() — добавление нового словаря
  17. Lambda Functions in Python
  18. Ограничение итераций в Python
  19. Удаление знаков препинания в Python
  20. Логические значения в Python
  21. Фильтрация списка от «ложных» значений
  22. OrderedDict — упорядоченный словарь
  23. Создание и инициализация объектов
  24. Расчет времени выполнения кода
  25. Метод join() для объединения элементов в строку.
  26. Копирование списков в Python
  27. Оформление кода по PEP 8
  28. Декоратор защиты анонимных пользователей
  29. Преобразование кортежа в словарь.
  30. Удаление ключа из словаря
  31. Работа с необработанными строками
  32. Enum в Python
  33. Python Translator: создание локальных переводчиков
  34. Создание и использование модулей в Python
  35. Экспорт данных с помощью writefile
  36. Генераторы словарей и множеств
  37. Генераторные функции в Python
  38. Атрибуты класса и экземпляра в Python
  39. Векторизация в Python с NumPy.
  40. Очистка входных данных
  41. Удаление специальных символов с помощью re.sub
  42. Сортировка с параметром key
  43. Python Аргументы по умолчанию
  44. Замена элементов в списке с помощью генераторов списков
  45. Отладка кода
  46. Разработка Telegram-ботов
  47. Назначение максимального и минимального значения переменной в Python.

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