Python 列出不可损坏的错误?

Python 列出不可损坏的错误?,python,list,hash,dictionary,Python,List,Hash,Dictionary,实际值和峰值都是整数列表 在我的代码中,我尝试按如下方式从整数列表到整数列表创建字典: mapping={} for a in actuals: mapping[a]=[v for v in peaks if v[0]==a[0]] 然而,它返回了错误 TypeError: unhashable type: 'list' 可能出了什么问题 看起来a属于列表类型(actuals为列表列表)。您正试图将字典的键分配给列表,这是不可能的。你必须想出一些其他的键,它是可散列的 如果每个a都是

实际值和峰值都是整数列表

在我的代码中,我尝试按如下方式从整数列表到整数列表创建字典:

mapping={}
for a in actuals:
    mapping[a]=[v for v in peaks if v[0]==a[0]]
然而,它返回了错误

TypeError: unhashable type: 'list'

可能出了什么问题

看起来
a
属于列表类型(
actuals
为列表列表)。您正试图将字典的键分配给
列表
,这是不可能的。你必须想出一些其他的键,它是可散列的

如果每个
a
都是一个您不打算更改的列表,您可以从中创建一个元组:

mapping={}
for a in actuals:
    mapping[tuple(a)]=[v for v in peaks if v[0]==a[0]]

字典的键必须实现
\uuuu hash\uuuu()
,这些函数必须返回一个值,该值在对象更改时不会更改,另一方面,应该根据对象的内容计算哈希值。因为列表的内容可以更改,所以它不会实现
\uuuuu hash\uuuu()

什么是实际值?它是嵌套列表吗?不能将列表用作字典中的键。