【发布时间】:2021-05-29 23:15:48
【问题描述】:
我正在尝试使用一个指向字符串参数中的字符的变量来在程序进行时更新它。但是,我遇到了一个键错误 4。我认为我可以将变量用作字典的键?
result = {}
for i in range(len(text)):
if text[i] in result:
result[text[i]] += 1
else:
result[text[i]] = 1
most = text[0]
for item in result:
if result[item] > result[most]:
most = result[item]
else:
if result[item] == result[most]:
came_first = min(text.index(item), text.index(most[0]))
most = text[came_first]
return most
if __name__ == '__main__':
maximumOccurringCharacter('maximumOccurringCharacter')```
```Traceback (most recent call last):
File "/home/blith/PycharmProjects/test/main.py", line 21, in <module>
maximumOccurringCharacter('maximumOccurringCharacter')
File "/home/blith/PycharmProjects/test/main.py", line 11, in maximumOccurringCharacter
if result[item] > result[most]:
KeyError: 4
【问题讨论】:
-
密钥错误意味着密钥不在您的字典中。尝试通过打印字典进行故障排除。也许您的键是字符串 '4' 而不是整数。
-
啊,是的,谢谢,我选择的是键的值,而不是键本身并将其分配给大多数。
标签: python-3.x dictionary key