擅长:python、mysql、java
<p>对测试中的每个单词重复count迭代,增加了使用<code>if word not in s</code>查找单词的开销。改进可能是计算一次计数:</p>
<pre><code>from collections import Counter
counts = Counter(s)
</code></pre>
<p>然后在第二次传球中得到头颅图:</p>
<pre><code>distribution = Counter(counts[v] for v in set(test))
</code></pre>
<p>演示:</p>
<pre><code>>>> test = list('abcdef')
>>> s = list('here comes the sun')
>>> counts = Counter(s)
>>> distribution = Counter(counts[v] for v in set(test))
>>> distribution
Counter({0: 4, 1: 1, 4: 1})
</code></pre>