簡體   English   中英

不可用類型:'set'錯誤

[英]Unhashable type: 'set' Error

我試圖在字典中找到兩個鍵的常用值,並將其作為一組返回。 但是,當我想將列表更改回一個集合(如我的代碼的最后一行所示)時,它會產生錯誤"Unhashable type" 我知道這個錯誤意味着什么,但遺憾的是我不知道在這種情況下如何修復它。

def values_in_common(dict, key1, key2):
a = []
b = []
for i, e in dict.items():
    if i == key1:
        a.append(e)
    if i == key2:
        b.append(e)
x = []
for i in a:
    if i in b:
        x.append(i)
return set(x)

我不確定你的代碼實際應該做什么,但我的理解是:

a = dict.get(key1) or []
b = dict.get(key2) or []

因此,無論在key1和key2中存儲什么值,如果字典中沒有適當的鍵,則為空列表。

然后,你想在a和b中找到共同的元素,如下所示:

return set(a) & set(b)

回答你的問題,我不認為你發布的代碼有問題,但是你傳遞給函數的參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM