TypeError: unhashable type: 'dict'
當遇到錯誤訊息「TypeError: unhashable type: 'dict'」時,表示您正在嘗試使用字典作為另一個字典或集合中的鍵。這是不允許的,因為鍵必須具有雜湊性,而雜湊性通常僅由不可變物件(字串、數字、不可變元素的元組、凍結集等)支援。
要使用字典作為鍵,您需要將其轉換為可雜湊表示。如果字典僅包含不可變值,您可以透過將其凍結為不可變資料結構來實現此目的:
<code class="python">key = frozenset(dict_key.items())</code>
現在,您可以使用'key' 作為其他字典或集合中的鍵:
<code class="python">some_dict[key] = True</code>
請記住,每當您想要使用字典存取資料時,您都需要始終使用凍結表示:
<code class="python">some_dict[dict_key] # This will raise an error some_dict[frozenset(dict_key.items())] # This works</code>
如果字典的值本身就是字典或列表,則您可以需要採用遞歸凍結來確保可雜湊性:
<code class="python">def freeze(d): if isinstance(d, dict): return frozenset((key, freeze(value)) for key, value in d.items()) elif isinstance(d, list): return tuple(freeze(value) for value in d) return d</code>
透過利用此功能,您可以凍結字典並將其用作可雜湊結構中的鍵:
<code class="python">frozen_dict = freeze(dict_key) some_dict[frozen_dict] = True</code>
以上是如何在 Python 中使用字典作為鍵:解決'TypeError: unhashable type: \'dict\'\”錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Linux終端中查看Python版本時遇到權限問題的解決方法當你在Linux終端中嘗試查看Python的版本時,輸入python...

本文解釋瞭如何使用美麗的湯庫來解析html。 它詳細介紹了常見方法,例如find(),find_all(),select()和get_text(),以用於數據提取,處理不同的HTML結構和錯誤以及替代方案(SEL)

本文比較了Tensorflow和Pytorch的深度學習。 它詳細介紹了所涉及的步驟:數據準備,模型構建,培訓,評估和部署。 框架之間的關鍵差異,特別是關於計算刻度的

在使用Python的pandas庫時,如何在兩個結構不同的DataFrame之間進行整列複製是一個常見的問題。假設我們有兩個Dat...

本文指導Python開發人員構建命令行界面(CLIS)。 它使用Typer,Click和ArgParse等庫詳細介紹,強調輸入/輸出處理,並促進用戶友好的設計模式,以提高CLI可用性。

本文討論了諸如Numpy,Pandas,Matplotlib,Scikit-Learn,Tensorflow,Tensorflow,Django,Blask和請求等流行的Python庫,並詳細介紹了它們在科學計算,數據分析,可視化,機器學習,網絡開發和H中的用途

文章討論了虛擬環境在Python中的作用,重點是管理項目依賴性並避免衝突。它詳細介紹了他們在改善項目管理和減少依賴問題方面的創建,激活和利益。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SublimeText3漢化版
中文版,非常好用

WebStorm Mac版
好用的JavaScript開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SublimeText3 Linux新版
SublimeText3 Linux最新版