我想通過構建一個字典,其中鍵是單詞並且值是出現次數來計算文件'xxxx'中的單詞。到目前爲止,我得到這個:構建Python字典中的鍵/值的問題
fil = open("xxxx","r")
X = fil.read()
count = {}
for key in X.split():
count[key] += 1
for i in count:
print (i, count[i])
當我跑,我得到:
Traceback (most recent call last):
File "countword.py", line 9, in <module>
count[key] = count[key] + 1
KeyError: 'From'
「從」是文件中的第一個單詞,因爲沒有鑰匙「從」到現在爲止,我相信是錯誤的原因。但是,做到這一點的正確方法是什麼?在進入for循環之前,我還需要以某種方式初始化該值嗎?
使用'collections.defaultdict' –
你遇到一個單詞的第一次,該鍵不存在,所以'算[關鍵]'失敗,看一個defaultdict。 – roganjosh
你的基本問題是你試圖添加一個不存在的值。這是'collections.defaultdict'或'dict.get()'都可以解決的問題,但更好的解決方案是使用'collections.Counter()'來爲你計數。 –