Модуль itertools — это встроенная библиотека Python, которая предоставляет набор быстрых и экономичных по памяти инструментов для работы с итераторами. Эти функции разработаны для работы с ленивыми вычислениями, что означает, что они генерируют значения по требованию, а не хранят их все в памяти.
chain() — объединяет несколько итерируемых объектов в одну последовательностьcycle() — бесконечно повторяет итерируемый объектrepeat() — повторяет одно значение указанное количество разzip_longest() — объединяет итерируемые объекты, заполняя недостающие значения значением по умолчаниюislice() — срезает итератор без преобразования его в списокaccumulate() — возвращает накопленные суммы или другие накопленные результатыstarmap() — применяет функцию к аргументам, распакованным из кортежейcombinations() — возвращает все уникальные упорядоченные подмножества заданной длиныpermutations() — возвращает все возможные порядки элементовproduct() — вычисляет декартово произведение входных итерируемых объектовgroupby() — группирует последовательные элементы, которые имеют общий ключfrom itertools import chain, islice
combined = chain([1, 2], [3, 4])
first_two = islice(combined, 2)
print(list(first_two)) # [1, 2]
Использование itertools предпочтительнее ручных циклов потому что:
Функции модуля itertools используют ленивое вычисление, что означает, что они генерируют значения по требованию, а не хранят все значения в памяти заранее.
Новый — ещё не проверен сообществом
Вы