擅长:python、mysql、java
<p>您可以在此处将<a href="https://docs.python.org/2/library/itertools.html#itertools.groupby">^{<cd1>}</a>与生成器函数一起使用:</p>
<pre><code>>>> from itertools import groupby
>>> lst = [3, 3, 3, 3, 3, 3, 100, 1, 1, 1, 1, 1, 1, 200, 3, 3, 3, 100, 1, 1, 1]
>>> def solve(seq):
for k, g in groupby(seq):
length = sum(1 for _ in g)
if length > 1:
yield k
yield length
else:
yield k
...
>>> list(solve(lst))
[3, 6, 100, 1, 6, 200, 3, 3, 100, 1, 3]
</code></pre>