擅长:python、mysql、java
<p>你在用一种令人困惑和不必要的复杂方式来做这件事。<a href="https://docs.python.org/2/library/collections.html#collections.Counter" rel="nofollow">collections.Counter</a>可以为您完成大部分工作:</p>
<pre><code>import collections
words = {'abandon':-2,'abandoned':-2,'abandons':-2,'abducted':-2,'abduction':-2,
'abductions':-2,'abhor': -3}
# throw away the values in the dictionary because they aren't being used
words = words.keys()
# this is a list [] not a dictionary ()
sentence = ['abandon', 'abandoned', 'abhorrent', 'hello', 'smart', 'hello',
'die', 'happy', 'sad', 'up', 'down', 'happy', 'smart','cool',
'clean', 'mean']
counts = collections.Counter([word for word in sentence if word not in words])
print counts
Counter({'hello': 2, 'smart': 2, 'happy': 2, 'down': 1, 'die': 1, 'up': 1,
'sad':1, 'abhorrent': 1, 'clean': 1, 'mean': 1, 'cool': 1})
</code></pre>
<p>可能这并不是您真正想要的,因为您的代码太坏了。据我所知,它确实做到了你的问题所要求的。在</p>