Heim  >  Artikel  >  Backend-Entwicklung  >  Warum wirft Python einen „TypeError: Unhashable Type „dict““ aus und wie kann man ihn beheben?

Warum wirft Python einen „TypeError: Unhashable Type „dict““ aus und wie kann man ihn beheben?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-28 03:19:01954Durchsuche

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

TypeError: Unhashable Type 'dict'

In Python können bestimmte Objekte wie Wörterbücher nicht als Schlüssel in einem Wörterbuch verwendet oder festgelegt werden, weil Sie sind nicht hashbar. Hashbare Objekte haben einen konstanten Wert und können als Schlüssel verwendet werden, um schnell Daten aus einem Wörterbuch oder Satz abzurufen.

Um diesen Fehler zu beheben, müssen Sie das problematische Wörterbuch (dict_key) in ein hashbares Objekt konvertieren. Eine Möglichkeit, dies zu tun, besteht darin, aus den Elementen des Wörterbuchs ein Frozenset zu erstellen.

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

Dieses Frozenset kann jetzt als Schlüssel in einem Wörterbuch oder Set verwendet werden:

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

Beachten Sie das Dieser Einfriervorgang muss möglicherweise rekursiv angewendet werden, wenn die Wörterbuchwerte selbst andere nicht hashbare Objekte enthalten.

Das obige ist der detaillierte Inhalt vonWarum wirft Python einen „TypeError: Unhashable Type „dict““ aus und wie kann man ihn beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn