用整数键更新字典

泥土破碎机

我正在做一个简短的作业,我必须读一个.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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章