Add utils.pairwise().

This commit is contained in:
Andrey Golovizin 2014-08-15 14:20:34 +02:00
parent 26ba867089
commit 3407bac38b

View file

@ -15,6 +15,8 @@
import functools import functools
import itertools
def cached_property(fun): def cached_property(fun):
"""A memoize decorator for class properties.""" """A memoize decorator for class properties."""
@ -36,3 +38,9 @@ def collect_iterable(func):
def collect(*args, **kwargs): def collect(*args, **kwargs):
return list(func(*args, **kwargs)) return list(func(*args, **kwargs))
return collect return collect
def pairwise(iterable):
a, b = itertools.tee(iterable)
next(b, None)
return itertools.zip_longest(a, b)