ホームページ >バックエンド開発 >Python チュートリアル >Python が「TypeError: Unhashable Type \'dict\'」をスローする理由とその修正方法

Python が「TypeError: Unhashable Type \'dict\'」をスローする理由とその修正方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-28 03:19:011068ブラウズ

Why Does Python Throw a `TypeError: Unhashable Type 'dict'` and How to Fix It?

TypeError: Unhashable Type 'dict'

Python では、辞書などの特定のオブジェクトを辞書またはセット内のキーとして使用できません。それらはハッシュ可能ではありません。ハッシュ可能オブジェクトには定数値があり、ディクショナリまたはセットからデータをすばやく取得するためのキーとして使用できます。

このエラーを解決するには、問題のあるディクショナリ (dict_key) をハッシュ可能オブジェクトに変換する必要があります。これを行う 1 つの方法は、辞書の項目からフローズンセットを作成することです。

<code class="python">key = frozenset(dict_key.items())</code>

このフローズンセットは、辞書またはセットのキーとして使用できるようになります。

<code class="python">if key in some_dict:
    print("Key exists in the dictionary")</code>

次の点に注意してください。辞書値自体に他のハッシュ化できないオブジェクトが含まれている場合、この凍結プロセスを再帰的に適用する必要がある場合があります。

以上がPython が「TypeError: Unhashable Type \'dict\'」をスローする理由とその修正方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。