gpt4 book ai didi

python - 使用整数键更新字典

转载 作者:行者123 更新时间:2023-11-28 22:33:56 24 4
gpt4 key购买 nike

我正在做一个简短的作业,我必须阅读一个 .txt 文件并创建一个字典,其中键是句子中的单词数,值是特定长度的句子数。我已经阅读了文件并确定了每个句子的长度,但是我在创建字典时遇到了麻烦。

我已经初始化了字典并尝试使用以下代码更新它(在循环遍历句子的 for 循环中):

for snt in sentences:
words = snt.split(' ')
sDict[len(words)]+=1

它在第一次迭代时给了我一个 KeyError。我确定它与我的语法有关,但我不确定如何更新字典中的现有条目。

最佳答案

当您初始化字典时,它一开始是空的。接下来您要做的是查找一个键以便您可以更新它的值,但是该键还不存在,因为字典是空的。对代码的最小更改可能是使用 get 字典方法。而不是这个:

sDict[len(words)]+=1

使用这个:

sDict[len(words)] = sDict.get(len(words), 0) + 1

get 方法查找一个键,但如果该键不存在,则会给您一个默认值。默认默认值为 None,您可以指定不同的默认值,即第二个参数,在本例中为 0

更好的解决方案可能是 collections.Counter,它处理常见用例的计数:

import collections
s = map(str.split, sentences)
sDict = collections.Counter(map(len, s))

关于python - 使用整数键更新字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39421366/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com