<p>你用的不是字典,而是<a href="http://docs.python.org/2/library/sets.html" rel="nofollow">set</a>!:)</p>
<p>集合不允许重复。</p>
<p>你可能需要的不是字典,而是列表。</p>
<p><strong>一点解释</strong></p>
<p>字典有键,每个唯一键都有自己的值:</p>
<pre><code>my_dict = {1:'a', 2:'b', 3:'c'}
</code></pre>
<p>您可以使用键检索值:</p>
<pre><code>>>> my_dict [1]
'a'
</code></pre>
<p>另一方面,列表没有密钥。</p>
<pre><code>my_list = ['a','b','c']
</code></pre>
<p>然后使用它们的索引检索值:</p>
<pre><code>>>> my_list[1]
'b'
</code></pre>
<p>记住,指数从零开始计算,而不是从1开始。</p>
<p><strong>解决问题</strong></p>
<p>现在,为了你的问题。首先,将字符存储为列表:</p>
<pre><code>l = ['a', 'b', 'c', 'a', 'a', 'b', 'b', 'b', 'b', 'c', 'a', 'w', 'w', 'p', 'r']
</code></pre>
<p>接下来,我们需要知道此列表中有哪些项:</p>
<pre><code>items = []
for item in l:
if item not in items:
items.append(item)
</code></pre>
<p>这几乎等于<code>items = set(l)</code>(唯一的区别是这是一个列表)。但为了让事情更清楚,希望你能理解代码的作用。</p>
<p>以下是<code>items</code>的内容:</p>
<pre><code>>>> items
['a', 'b', 'c', 'w', 'p', 'r']
</code></pre>
<p>完成后,我们将使用<a href="http://docs.python.org/2/tutorial/datastructures.html#more-on-lists" rel="nofollow">^{<cd3>}</a>方法查看列表中出现的字符数,并使用内置函数<a href="http://docs.python.org/2/library/functions.html#sorted" rel="nofollow">^{<cd4>}</a>对项目进行排序:</p>
<pre><code>for item in sorted(items): #iterates through the sorted items.
print item, l.count(item)
</code></pre>
<p><strong>结果:</strong></p>
<pre><code>a 4
b 5
c 2
w 2
p 1
r 1
</code></pre>
<p>希望这有帮助!!</p>