în acest post, vom vedea despre TypeError: unhashable type: 'list'
.
veți primi această eroare atunci când încercați să puneți list
ca cheie în dictionary
sau set
deoarece lista este obiect unhashable.TypeError: unhashable type
este în general ridicată atunci când încercați să hash obiect care este unhashable.
să vedem asta cu ajutorul exemplului:
Piton
1
2
3
4
|
dict1 = {1:’unu’, :’doi’}
print(dict1)
|
ieșire:
puteți rezolva această problemă aruncând lista în tuplu. Deoarece tuplu este obiect imuabil, acesta poate fi folosit ca cheie în dicționar.
Piton
1
2
3
4
|
dict1 = {1:’ unu’, tuplu ():’ doi’}
imprimare (dict1)
|
ieșire:
după cum puteți vedea, odată ce vom folosi tuple () funcția, programul a lucrat bine.
să vedem un alt exemplu cu set.
Piton
1
2
3
4
|
set1={,}
print (set1)
|
ieșire:
puteți rezolva această problemă aruncând lista în tuplu. Deoarece tuple
este obiect imuabil, acesta poate fi folosit ca cheie în dicționar.
Piton
1
2
3
4
|
set1 = {tuplu(),tuplu()}
imprimare (set1)
|
ieșire:
după cum puteți vedea, odată ce vom folosi tuple()
funcție, programul a lucrat bine.
ce sunt obiectele Hashable?
Hashing este o metodă de codificare a datelor în valoare int de dimensiuni fixe. Acesta este, în general, utilizat pentru a proiecta structura de date de înaltă performanță.
obiect Hashable în Python
int | float | zecimal | bool | string | tuplu | complex | gama | frozenset | bytes |
obiect non Hashable în Python
listă | set | dict | bytearray | clase personalizate |
asta e tot despre TypeError: tip unhashable:’listă’.