tässä viestissä näemme noin TypeError: unhashable type: 'list'
.
saat tämän virheen, kun yrität laittaa list
avaimeksi dictionary
tai set
, koska lista on unhashable object.TypeError: unhashable type
nostetaan yleensä esiin, kun yritetään hashata objektia, joka ei ole shashable.
katsotaanpa tätä esimerkin avulla:
Python
1
2
3
4
|
dict1 ={ 1: ”one”,: ”two”}
print(dict1)
|
Lähtö:
tämän asian voi ratkaista heittolistalla tuplaan. Koska tuple on muuttumaton objekti, sitä voidaan käyttää avaimena sanakirjassa.
Python
1
2
3
4
|
dict1 ={ 1: ”one”, tuple (): ”two”}
print (dict1)
|
tuloste:
kuten näette, kun käytämme tuple () – funktiota, ohjelma toimi hyvin.
Katsotaan toinen esimerkki joukolla.
Python
1
2
3
4
|
set1={,}
print (set1)
|
Lähtö:
tämän asian voi ratkaista heittolistalla tuplaan. Koska tuple
on muuttumaton objekti, sitä voidaan käyttää avaimena sanakirjassa.
Python
1
2
3
4
|
set1={tuple (), tuple ()}
print (set1)
|
tuloste:
kuten näette, kun käytämme tuple()
funktiota, ohjelma toimi hyvin.
Mitä ovat Hashable-esineet?
Hashtashing on menetelmä, jolla data koodataan kiinteäkokoiseksi int-arvoksi. Sitä käytetään yleensä korkean suorituskyvyn tietorakenteen suunnitteluun.
Hashable object Pythonissa
int | float | desimaali | bool | string | tuple | monimutkainen | vaihteluväli | frozenset | tavua |
Ei Hajautettavissa oleva objekti Pythonissa
luettelo | set | dict | bytearray | custom classes |
se on kyse TypeError: unhashable tyyppi: ’lista’.