擅长:python、mysql、java
<p>您可以使用<a href="http://docs.python.org/dev/library/collections#collections.Counter">collections.Counter</a>,它为您提供了一个类似于<code>dict</code>的对象(因为它还有一些对<em>count</em>类似用途有用的附加功能),它的项是key,出现的次数是一个值。在</p>
<pre><code>from collections import Counter
>>> li = ['Apple', 'Apple', 'Apple', 'Black','Black','Black','Green','Green','Red','Yellow']
>>> Counter(li)
Counter({'Black': 3, 'Apple': 3, 'Green': 2, 'Yellow': 1, 'Red': 1})
</code></pre>
<p>那就交给你吧。。。在</p>
<p>保存订单的一种(低效)方法是计数,然后索引到原始列表中:</p>
^{pr2}$
<p>另一种方法是使用<code>groupby</code>(但这取决于连续的项):</p>
<pre><code>>>> from itertools import groupby
>>> [len(list(g)) for k, g in groupby(li)]
[3, 3, 2, 1, 1]
</code></pre>