Ir para o conteúdo
Exceções de PythonErro
TypeError: unhashable type

TypeError: tipo não-hasheável

Um objeto mutável foi usado onde um objeto hasheável (imutável) é necessário, como chave de dicionário ou elemento de conjunto.

python

O que causa este erro

Você tentou usar uma lista, dict, set ou outro objeto mutável como chave de dicionário ou elemento de conjunto. Apenas objetos hasheáveis (imutáveis) podem ser usados como chaves: strings, números, tuplas (de elementos hasheáveis), frozensets.

Como corrigir

Converta listas em tuplas: tuple(my_list). Converta sets em frozensets: frozenset(my_set). Para dicts, use um frozenset de itens ou converta para uma representação hasheável. Use estruturas de dados imutáveis como chaves.

Exemplo

{[1, 2]: "value"}  # TypeError: unhashable type: 'list'
Documentação Oficial

Códigos de Erro Relacionados