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’.