TypeError: unhashable type: 'list' 如何解决?


 

 

 

 

 X0和W1分别是两个数组list,但是在求差集时一直报以上错误。好像是因为Python不支持dict的key为list或dict类型,因为list和dict类型是unhashable(不可哈希)的。也就是说,list的索引不是使用hash值的。所以每次在做两个数组的运算时,都会报错。所以解决方法是把它内部元素改成非list的,比如说:

因为在我的代码里面,list内部的数据是这样的,是为了表示点的坐标而存在的:

 

 可以通过降维,将数组内部变为一维的形式来处理,即:

s =set()
for item inTi:
    for i in item:
        s.add(i)
print(s)

但是这样处理之后,没有办法正确表示坐标,所以用以下方法来解决:

Wi = [val for val in Xi if val in W]


    


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM