擅长:python、mysql、java
<p>这叫做滑动窗。有一个<a href="http://www.python.org/doc/2.3.5/lib/itertools-example.html" rel="noreferrer">example in the ^{<cd1>} documentation</a>可以做到。代码如下:</p>
<pre><code>from itertools import islice
def window(seq, n=2):
"Returns a sliding window (of width n) over data from the iterable"
" s -> (s0,s1,...s[n-1]), (s1,s2,...,sn), ... "
it = iter(seq)
result = tuple(islice(it, n))
if len(result) == n:
yield result
for elem in it:
result = result[1:] + (elem,)
yield result
</code></pre>
<p>什么,你可以这样说:</p>
^{pr2}$
<p>当然,你只关心n=2的情况,所以你可以简单得多:</p>
<pre><code>def adjacent_pairs(seq):
it = iter(seq)
a = it.next()
for b in it:
yield a, b
a = b
for r1, r2 in adjacent_pairs(dm_revisions):
summary = svn.diff_summarize(svn_path, revision1=r1, revision2=r2)
</code></pre>