擅长:python、mysql、java
<p>定义此方法(<a href="http://docs.python.org/library/itertools.html" rel="nofollow">source</a>):</p>
<pre><code>def pairwise(iterable):
"s -> (s0,s1), (s1,s2), (s2, s3), ..."
a, b = itertools.tee(iterable)
next(b, None)
return itertools.izip(a, b)
</code></pre>
<p>然后使用这个循环:</p>
<pre><code>for curr, next in pairwise(list):
</code></pre>
<p>需要注意的是,您不会得到<code>curr</code>中的最后一项,最后一次迭代将是<code>(next_to_last, last)</code>。如果您想在最后的迭代中获得<code>(last, None)</code>,您需要在<code>pairwise</code>定义中将<code>izip</code>更改为<code>izip_longest</code>。你知道吗</p>