Python如何解决KeyError: 2

问题描述 投票:0回答:2

所以我在 Codehs 中做一个问题,并且我遇到了其中一个问题的错误。我不太擅长编程,但我无法弄清楚我做错了什么。我每次都会收到 KeyError: 2 错误,并且我已经调试了一段时间。该代码接受用户输入的字符串,并打印字符串中每个单词的使用次数,并将金额及其相应的单词作为键放入字典中。当我输入“hello hello”时,出现 KeyError: 2 错误。代码应位于此消息下方。任何和所有帮助都会帮助我,所以谢谢!

my_dict = {}
string = input("Enter a string: ")
string = string.split()
for value, item in enumerate(string):
    if string[value] in my_dict:
        my_dict.update({value : my_dict[value+1]})
    else:
        my_dict[item] = 1
    
print(my_dict)

我尝试了很多方法,例如调试和使用打印,但没有成功。

python keyerror
2个回答
0
投票

我相信第 6 行是您的问题,您正在尝试更新字典以显示字符串已出现多次。尝试将其更改为这样:

my_dict[item] += 1

这将获取字典中某个项目的现有编号并加 1。


0
投票

在更新字典时,您混淆了要更新的键及其值。以下内容应该可以修复它(替换问题代码中的相应行):

if string[value] in my_dict:
    my_dict.update({item : my_dict[item]+1}) 

但是,这没有必要的复杂,因为您可以直接更新字典条目,如下所示

if string[value] in my_dict:
    my_dict[item] += 1
© www.soinside.com 2019 - 2024. All rights reserved.