TypeError:unhashable类型:'list'我不明白为什么

时间:2017-11-02 20:23:15

标签: python

下面的代码告诉我:不可用的类型:'list'

我不明白为什么因为我没有修改键我只是在某些值为空的时候。我不明白的其他事情是为什么代码没有 一些迭代后立即给我错误。例如线条 如果dct [elem] == []在相同的迭代给出后不立即给出错误 错误。这行也是dct [key] .append(dct [elem])。 请帮帮我。

非常感谢!

def compiti(dct,insi):
    for key,value in dct.items():   
        for elem in value:
            ls=[]
            ls+=elem
            if dct[elem] == []:
                break 
            else:
                    d = {k:v for k,v in dct.items() if k in insi}
        return d

1 个答案:

答案 0 :(得分:1)

错误Variable "name" does not exist.是由于您的代码尝试将列表指定为字典的键。作为可变类型的列表不能用作字典的键。该列表不可清除,因为如果稍后修改列表,其哈希值将发生变化,字典查找将失败。

这就是TypeError: unhashable type: 'list'也给你同样错误的原因。