TypeError: unhashable Typ: ‚seznam‘

v tomto příspěvku uvidíme asi TypeError: unhashable type: 'list'.

dostanete tuto chybu, když se pokoušíte dát list jako klíč do dictionary nebo set, protože seznam je nemytelný objekt.TypeError: unhashable type je obecně zvýšena při pokusu o hash objekt, který je unhashable.

podívejme se na to pomocí příkladu:

Python

1
2
3
4

dict1 ={ 1:’jedna‘, :’dvě‘}
print(dict1)

Výstup:

tento problém lze vyřešit litím seznam do n-tice. Vzhledem k tomu, n-tice je neměnný objekt, může být použit jako klíč ve slovníku.

Python

1
2
3
4

dict1 ={ 1:’jedna‘, n-tice():’dvě‘}
print(dict1)

Výstup:

{1: ‚jeden‘, (2, 10): „dvě“}

Jak můžete vidět, jakmile jsme se použít tuple() funkce, program pracoval dobře.
podívejme se na další příklad se sadou.

Python

1
2
3
4

set1={,}
print(set1)

Výstup:

tento problém lze vyřešit litím seznam do n-tice. Vzhledem k tomu, tuple je neměnný objekt, může být použit jako klíč ve slovníku.

Python

1
2
3
4

set1={tuple(),n-tice()}
print(set1)

Výstup:

{(1, 2), (3, 4)}

Jak můžete vidět, jakmile jsme se použít tuple() funkce, program pracoval dobře.

co jsou Hashovatelné objekty?

hashování je metoda kódování dat do hodnoty int s pevnou velikostí. Obecně se používá k návrhu vysoce výkonné datové struktury.

Hashable objektu v Pythonu

int float desetinné číslo, bool string tuple komplexní rozsah frozenset bajtů

Non Hashable objektu v Pythonu

seznam nastavit dict bytearray vlastní třídy

to je vše, o TypeError: unhashable typu: „seznam“.



+