

Generally, the iterable needs to already be sorted on Specified or is None, key defaults to an identity function and returns The key is a function computing a key value for each element. Make an iterator that returns consecutive keys and groups from the iterable. R-length tuples, in sorted order, with repeated elementsĪA AB AC AD BA BB BC BD CA CB CC CD DA DB DC DDĭef dropwhile ( predicate, iterable ): # dropwhile(lambda x: x 6 4 1 iterable = iter ( iterable ) for x in iterable : if not predicate ( x ): yield x break for x in iterable : yield x itertools. R-length tuples, in sorted order, no repeated elements R-length tuples, all possible orderings, no repeated elements Izip_longest('ABCD', 'xy', fillvalue='-') -> Ax By C- D-Ĭartesian product, equivalent to a nested for-loop

It1, it2, … itn splits one iterator into n Ifilter(lambda x: x%2, range(10)) -> 1 3 5 7 9Įlements of seq where pred(elem) is false Sub-iterators grouped by value of keyfunc(v) Iterators terminating on the shortest input sequence:Ĭompress('ABCDEF', ) -> A C E F Sum(imap(operator.mul, vector1, vector2)).Įlem, elem, elem, … endlessly or up to n times Operator can be mapped across two vectors to form an efficient dot-product: These tools and their built-in counterparts also work well with the high-speedįunctions in the operator module. The same effect can be achieved in Pythonīy combining imap() and count() to form imap(f, count()).

Together, they form an “iteratorĪlgebra” making it possible to construct specialized tools succinctly andįor instance, SML provides a tabulation tool: tabulate(f) which produces a The module standardizes a core set of fast, memory efficient tools that are This module implements a number of iterator building blocks inspiredīy constructs from APL, Haskell, and SML.
