我正在做一个简短的作业,我必须读一个.txt文件并创建一个字典,该字典中的键是句子中单词的数量,值是特定长度的句子数量。我已经阅读了文件并确定了每个句子的长度,但是在创建字典时遇到了麻烦。
我已经初始化了字典,并尝试使用以下代码(在遍历句子的for循环内)对其进行更新:
for snt in sentences:
words = snt.split(' ')
sDict[len(words)]+=1
它在第一次迭代时给了我一个KeyError。我确定这与我的语法有关,但是我不确定如何更新字典中的现有条目。
defaultdicts
是为此目的而发明的:
from collections import defaultdict
sDict = defaultdict(int)
for snt in sentences:
sDict[len(snt.split())] += 1
如果您在分配的上下文中仅限使用纯字典,则需要在增加其值之前测试键的存在,以防止出现KeyError
:
sDict = {}
for snt in sentences:
num_words = len(snt.split())
if num_words in sDict:
sDict[num_words] += 1
else:
sDict[num_words] = 1
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句