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]