pocketutils.core.iterators

Module Contents

class pocketutils.core.iterators.SizedIterator

An iterator with size and progress.

class pocketutils.core.iterators.SeqIterator(it: Iterable[T])

A concrete SizedIterator backed by a list.

class pocketutils.core.iterators.TieredIterator(sequence: Sequence[Sequence[IX]])

A SizedIterator that iterates over every tuples of combination from multiple sequences.

Example

>>> it = TieredIterator([[1, 2, 3], [5, 6]])
>>> list(it)
[(1,5), (1,6), (2,5), (2,6), (3,5), (3,6)]