假設我有一本名爲word_counter_dictionary
的字典,它以{'word' : number}
的形式統計文檔中的字數。例如,「secondly」一詞出現一次,所以鍵/值對將是{'secondly' : 1}
。我想製作一個倒排列表,這樣數字就會成爲關鍵詞,而這些關鍵詞將成爲這些關鍵詞的值,因此我可以繪製前25個最常用的單詞。我看到setdefault()
函數可能派上用場的地方,但不管我不能使用它,因爲到目前爲止我在課程中我們只覆蓋了get()
。當某些原始值相同時反轉字典
inverted_dictionary = {}
for key in word_counter_dictionary:
new_key = word_counter_dictionary[key]
inverted_dictionary[new_key] = word_counter_dictionary.get(new_key, '') + str(key)
inverted_dictionary
到目前爲止,使用上述方法,它工作正常,直到它達到具有相同值的另一個單詞。例如,單詞"saves"
在文檔中也會出現一次,所以Python會添加新的鍵/值對。但它刪除{1 : 'secondly'}
與新對,以便只有{1 : 'saves'}
在字典中。
所以,底線,我的目標是獲得這個新字典中所有的單詞和它們各自的重複次數,稱爲inverted_dictionary
。
你的問題,我想你知道,這是一本字典不能有多個值一個鍵,如數字1。然而,它可能有,作爲唯一的價值,其他價值的_collection_ 。 –
好的,每次嘗試這樣做之前,您都希望查看字典「鍵」。如果這個詞已經存在,那麼就已經增加了計數。沖洗並重復*無窮無盡*。 –
如果所有你想要做的是提取25個最大值的鍵,你不必先創建這個倒序字典。 – keyser