все 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Сообщить о неточности