I would like an enumerate-like functional on iterators which yields the pair (previous_element, current_element). That is, given that iter>
The best answer I have (and this requires itertools) is
def offset(iter, n=1):
# returns tuples (None, iter0), (iter0, iter1), (iter1, iter2) ...
previous = chain([None] * n, iter)
return izip(previous, iter)
but I would be interested in seeing if someone has a one-liner (or a better name than offset for this function)!