Python KeyError:0使用字典和函数时

时间:2013-01-28 14:16:33

标签: python

我是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_crolist_eng(以及希望其他人)中的样本来识别语言。我得到了KeyError: 0。此外,sortfunc_op工作正常我再单独测试。可能是什么问题?

另外,如果我在函数中更改参数的顺序(将列表作为第一个参数,字符串作为第二个),我会收到语法错误。 谢谢你的聆听!

1 个答案:

答案 0 :(得分:0)

在函数结束时,result应如下所示:{'cro': X, 'eng': Y},其中X和Y是数字。我不知道你的词典是什么,所以我无法猜出这些数字是什么。评估result['eng']会生成一个数字,result['cro']也会生成,但此字典中没有0个键。

此外,第二个索引操作也会给您带来问题。 result['eng'][0]会给您一个错误,因为result['eng']是一个数字,而您无法将数字编入索引。

您希望此功能的输出看起来如何? sort在哪里定义了它应该做什么?