¿Cuál es el significado de ' tipo indescifrable ' ¿error en Python?


Mejor respuesta

Primero entendamos qué es hash y qué es imposible. En términos simples, llamamos a los elementos cuyos valores no se pueden cambiar como hash y los objetos cuyos valores se pueden cambiar como no modificables.

Por ejemplo, en Python, todos los objetos inmutables se pueden denominar como hash mientras que como objetos mutables puede calificarse de indescifrable. Tomemos un ejemplo donde podemos obtener tal error y por qué lo obtenemos.

Por ejemplo, cuando usa una lista como clave en el diccionario, no se puede hacer y obtendremos un error TypeError: tipo unhashable.

Esto se debe a que las listas no pueden ser hash y estamos tratando de usar una lista como argumento hash. Esto significa que cuando intentas aplicar un hash a un objeto sin hash, se producirá este error. La forma estándar de resolver este problema es convertir una lista en una tupla.

Y como las tuplas son inmutables y, por lo tanto, puede funcionar.

Respuesta

dict = {a: 1}

Se muestra un error de tipo indescifrable en Python cmd en la ventana.

El significado de hash en Python es qué valor nunca se puede cambiar. Y unhashable es opuesto a Hashable. En el diccionario, el valor se puede actualizar en cualquier momento, pero si el intérprete de Python comprende su tipo de datos. En mi ejemplo, dict = {a: 1} (key = a, value = 1) a es un tipo de datos de cadena, pero aquí no se sigue la regla de tipo de datos de cadena que se escribe e incluir caracteres entre comillas. Por lo tanto, el intérprete dijo que este valor de tipo de datos no se puede modificar (modificable) pero el tipo de datos se malinterpreta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *