簡體   English   中英

無法散列的類型:字典中的值“列表”錯誤

[英]Unhashable type: 'list' error in values in dict

我有兩個新字典,如下所示:

a = {Banana: 60, Apple: 90, Pear: 80}
b = {60: 25, 90: 45, 89: 94}

我想創建一個新字典,該字典僅將字典b中的值用作值,然后將其合並為a。 因此,例如Banana的值為60,這也是b中的鍵。 60的值是25。所以最后我想要Banana: 25

因此,我編寫了如下代碼: {k:b[v] for k,v in a.items() if v in b}

但是我一直收到以下錯誤: unhashable type: 'list'我了解這可能是因為我的b[v]值類似於[[25], [45], [94]]

在我的字典理解中,我嘗試將其轉換為元組,嘗試使其變平,但仍然沒有運氣。

任何幫助都會很棒

嘗試這個 :

a = {'Banana': 60, 'Apple': 90, 'Pear': 80}
b = {60: 25, 90: 45, 89: 94}
c = {k:(b[a[k]] if a[k] in b else a[k]) for k in a}

輸出

c = {'Banana': 25, 'Apple': 45, 'Pear': 80}

暫無
暫無

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

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