Melhor resposta
Vamos primeiro entender o que é hashble e o que é inalcançável. Em termos simples, denominamos os itens cujos valores não podem ser alterados como hashable e os objetos cujos valores podem ser alterados como não hashable.
Por exemplo em Python, todos os objetos imutáveis podem ser chamados de hashable enquanto objetos mutáveis pode ser denominado como inalterável. Vamos dar um exemplo onde podemos obter esse erro e por que o obtemos.
Por exemplo, quando você usa uma lista como uma chave no dicionário, isso não pode ser feito e obteremos um erro TypeError: tipo inalterável.
Isso ocorre porque as listas não podem “ter hash e estamos tentando usar uma lista como um argumento hash. Isso significa que quando você tenta hash um objeto não hash, isso resultará neste erro. A maneira padrão de resolver esse problema é lançar uma lista para uma tupla.
E como tuplas são imutáveis e, portanto, hashble, ele pode funcionar.
Resposta
dict = {a: 1}
É mostrado um erro de tipo inalterável no cmd python na janela.
O significado de hashable em python é qual valor nunca pode ser alterado. E inalterável é oposto a Hashable. No dicionário, o valor pode ser atualizado a qualquer momento, mas se o interpretador python entender seu tipo de dados. No meu exemplo dict = {a: 1} (chave = a, valor = 1) a é um tipo de dados de string, mas aqui não segue a regra de tipo de dados de string que é escrita e caracteres entre aspas. Portanto, o intérprete disse que este valor de tipo de dados é inalterável (alterável), mas o tipo de dados é mal compreendido.