Pythonic迭代列表中的滑动窗口对?

问题描述

在滑动对中迭代列表的最 Pythonic 最有效的方法是什么?这是一个相关的例子:

What's the most Pythonic efficient way to iterate over a list in sliding pairs? Here's a related example:

>>> l
['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> for x, y in itertools.izip(l, l[1::2]): print x, y
... 
a b
b d
c f

这是成对的迭代,但是我们如何才能在滑动对上进行迭代呢?含义迭代对:

this is iteration in pairs, but how can we get iteration over a sliding pair? Meaning iteration over the pairs:

a b
b c
c d
d e
etc.

这是对对的迭代,除了每次将对滑动 1 个元素而不是 2 个元素.谢谢.

which is iteration over the pairs, except sliding the pair by 1 element each time rather than by 2 elements. thanks.


解决方案

怎么样:

for x, y in itertools.izip(l, l[1:]): print x, y

相关文章