Maison > développement back-end > Tutoriel Python > 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
Libérer: 2024-10-28 03:19:01
original
1054 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal