Quelle est la signification de ' type non hachable ' erreur en Python?


Meilleure réponse

Commençons par comprendre ce qui est hachable et non phasable. En termes simples, nous appelons les éléments dont les valeurs ne peuvent pas être modifiées comme hachables et les objets dont les valeurs peuvent être modifiées comme non détachables.

Par exemple, en Python, tous les objets immuables peuvent être qualifiés de hachables tandis que d’objets mutables peut être qualifiée de nonchalante. Prenons un exemple où nous pouvons obtenir une telle erreur et pourquoi nous lobtenons.

Par exemple, lorsque vous utilisez une liste comme clé dans le dictionnaire Cela ne peut pas être fait et nous aurons une erreur TypeError: unhashable type.

Cest parce que les listes ne peuvent « pas être hachées et nous essayons dutiliser une liste comme argument de hachage. Ceci signifie que lorsque vous essayez de hacher un objet non détachable, cette erreur se produit. La manière standard de résoudre ce problème est de convertir une liste en tuple.

Et comme les tuples sont immuables et donc hachables, il peut fonctionner.

Réponse

dict = {a: 1}

Il affiche une erreur de type inévitable en python cmd sur la fenêtre.

La signification hashable en python est la valeur qui nest jamais modifiable. Et unhashable est le contraire de Hashable. Dans le dictionnaire, la valeur peut être mise à jour à tout moment, mais si linterpréteur python comprend son type de données. Dans mon exemple dict = {a: 1} (clé = a, valeur = 1) a est un type de données chaîne mais ne suit pas ici la règle de type de données chaîne qui est écrite e mettant les caractères entre guillemets. Donc, par conséquent, linterpréteur a dit que cette valeur de type de données est indéchiffrable (modifiable) mais que le type de données est mal compris.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *