Most pythonic way to get the previous element

后端 未结 5 1889
忘掉有多难
忘掉有多难 2021-01-04 19:18

I would like an enumerate-like functional on iterators which yields the pair (previous_element, current_element). That is, given that iter

5条回答
  •  太阳男子
    2021-01-04 19:54

    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)!

提交回复
热议问题