Maison  >  Article  >  développement back-end  >  Pourquoi Python génère-t-il une « TypeError : Unhashable Type \'dict\ » et comment y remédier ?

Pourquoi Python génère-t-il une « TypeError : Unhashable Type \'dict\ » et comment y remédier ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-28 03:19:01954parcourir

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

TypeError : Unhashable Type 'dict'

En Python, certains objets tels que les dictionnaires ne peuvent pas être utilisés comme clés dans un dictionnaire ou définis car ils ne sont pas hachables. Les objets hachables ont une valeur constante et peuvent être utilisés comme clés pour récupérer rapidement des données d'un dictionnaire ou d'un ensemble.

Pour résoudre cette erreur, vous devez convertir le dictionnaire problématique (dict_key) en un objet hachable. Une façon de procéder consiste à créer un jeu gelé à partir des éléments du dictionnaire.

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

Cet ensemble gelé peut désormais être utilisé comme clé dans un dictionnaire ou un ensemble :

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

Notez que ce processus de gel peut devoir être appliqué de manière récursive si les valeurs du dictionnaire elles-mêmes contiennent d'autres objets non hachables.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn