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