擅长:python、mysql、java
<p>我个人认为这更具可读性,构造更少的对象,我猜运行速度更快。</p>
<pre><code>li=[-1, -1, 2, 2, -1, 1, 1, 1, 1, 1, -1, -1 ]
results = []
i = 0
while i < len(li):
j = i + 1
while j < len(li) and li[i] == li[j]:
j += 1
results.append((i,li[i],j-i))
i = j
print results #[(0, -1, 2), (2, 2, 2), (4, -1, 1), (5, 1, 5), (10, -1, 2)]
</code></pre>