擅长:python、mysql、java
<p>使用<code>itertools.groupby</code>:</p>
<pre><code>from itertools import groupby
from operator import itemgetter
Values = [0,0,1,1,1,1,1,2,2,2,3,3,3,3,3,3,4,4,4,5,5,5,5]
output = []
for k, g in groupby(enumerate(Values), key=itemgetter(1)):
start = next(g)[0]
for end, _ in g: pass
output.append((start, end+1))
print output
</code></pre>
<p>输出:</p>
<pre><code>[(0, 2), (2, 7), (7, 10), (10, 16), (16, 19), (19, 23)]
</code></pre>