Python Glossary English

все Python 3itertoolsпонятие

itertools

модуль

Строительные блоки для ленивых итераторов: склейка, срезы, группировка, перестановки, бесконечные счётчики.

Синтаксис

import itertools

Функции itertools возвращают ленивые итераторы: ничего не считается, пока результат не перебрали, и перебрать его можно только один раз — второй list() даст пустой список. count и cycle бесконечны, поэтому их ограничивают islice или takewhile. Частая ошибка — groupby без сортировки: он склеивает только соседние одинаковые ключи.

Примеры

import itertools
it = itertools.chain([1, 2], (3,))
print(list(it), list(it))  # → [1, 2, 3] [] — итератор одноразовый
print(list(itertools.islice(itertools.count(10), 3)))  # → [10, 11, 12]
print([k for k, _ in itertools.groupby('aabaa')])  # → ['a', 'b', 'a']

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности