TypeError:无法散列的类型:在字典中设置值时的“ list”

时间:2020-11-05 15:20:59

标签: python python-3.x list dictionary

我正在尝试从文本文件中找到十个最常用的单词。

def counting_word(script):
    outcomes_word = {}
    for i in script:
        i = i.lower().split()
        if i in outcomes_word:
                outcomes_word[i] += 1
        else:
                outcomes_word[i] = 1
    return outcomes_word

但是,当我如上所述输入代码并使用该功能时, 结果为TypeError: unhashable type: 'list

预期输出:

enter image description here

如果我需要上传其他信息或txt.file,我将上传。

请帮助我

1 个答案:

答案 0 :(得分:0)

之所以会这样,是因为i(在您的循环中)是一个列表,并且它不能是字典的关键字。 您必须在循环之前分割列表:

def counting_word(script):
    outcomes_word = {}
    l=script.lower().split()
    for i in l:
        if i in outcomes_word:
            outcomes_word[i] += 1
        else:
            outcomes_word[i] = 1
    return outcomes_word