Python KeyError: 0 在字典和函数中使用时
我刚开始学Python,所以我的问题对一些人来说可能很简单,但我现在卡住了,需要你们的帮助!这是我遇到问题的代码:
def identify_language(sequence, **common_words):
result = {}
for i in common_words:
result[i] = 0
for i in func_op(sequence.lower()):
for j in common_words:
if i in common_words[j]:
result[j] += 1
return sort(result[0][0])
...
dictionary = {'cro':list_cro, 'eng':list_cro}
language = identify_language('I had a little lamb. It was called Billy.', **dictionary)
我想根据在list_cro
和list_eng
(还有其他的,希望能找到更多)中的样本来识别语言。可是我遇到了KeyError: 0
的错误。此外,sort
和func_op
这两个函数我单独测试过,运行得很好。那可能是什么问题呢?
另外,如果我把函数中的参数顺序调换(把列表放在第一个参数,把字符串放在第二个参数),我就会得到语法错误。谢谢你们的倾听!
1 个回答
0
在这个函数的最后,result
应该看起来像这样:{'cro': X, 'eng': Y}
,其中 X 和 Y 是数字。我不知道你的字典是什么样的,所以无法猜测这些数字是什么。计算 result['eng']
会得到一个数字,result['cro']
也是,但这个字典里没有 0
这个键。
另外,第二个索引操作也会让你遇到问题。result['eng'][0]
会报错,因为 result['eng']
是一个数字,而你不能对数字进行索引。
你希望这个函数的输出是什么样的?sort
是在哪里定义的,它应该做什么?