Ga naar inhoud
Python-uitzonderingenFout
TypeError: unhashable type

TypeError: unhashable type

Een muteerbaar object is gebruikt waar een hashbaar (onveranderlijk) object vereist is, zoals een woordenboeksleutel of set-element.

python

Wat veroorzaakt deze fout

U heeft geprobeerd een list, dict, set of ander muteerbaar object te gebruiken als woordenboeksleutel of set-element. Alleen hashbare (onveranderlijke) objecten kunnen als sleutels worden gebruikt: strings, getallen, tuples (van hashbare elementen), frozensets.

Hoe op te lossen

Converteer lists naar tuples: tuple(my_list). Converteer sets naar frozensets: frozenset(my_set). Gebruik voor dicts een frozenset van items of converteer naar een hashbare representatie. Gebruik onveranderlijke gegevensstructuren als sleutels.

Voorbeeld

{[1, 2]: "value"}  # TypeError: unhashable type: 'list'
Officiële documentatie

Gerelateerde foutcodes