我想通过构建一个字典,其中键是单词并且值是出现次数来计算文件'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()'来为你计数。 –