擅长:python、mysql、java
<p><strong>编辑:</strong>OP的评论明确指出单词可以属于多个类别。代码已调整。你知道吗</p>
<hr/>
<p>我想你应该把单词的值按类别累加起来。一种(简单的)方法是:</p>
<pre><code>def accumulate_by_category(word_values, cat_sums, cats):
""" modify the category sums by adding the values of the given words """
for word, value in word_values.items():
for cat in cats[word]:
cat_sums[cat] += value
</code></pre>
<p>你可以这样使用它:</p>
<pre><code>worddict = {'example1': 1, 'example2': 0, 'example3': 7}
seconddict = {'firstitem': 1, 'seconditem': 1, 'thirditem':9}
categories = {'example1': ['firstitem', 'thirditem'],
'example2': ['seconditem', 'thirditem'],
'example3': ['thirditem']}
accumulate_by_category(worddict, seconddict, categories)
print(seconddict) # {'seconditem': 1, 'firstitem': 2, 'thirditem': 17}
</code></pre>