Onko luettelo hajautuskelpoinen Python?
Onko luettelo hajautuskelpoinen Python?

Video: Onko luettelo hajautuskelpoinen Python?

Video: Onko luettelo hajautuskelpoinen Python?
Video: Section 10 2024, Marraskuu
Anonim

Kaikki Pythonin muuttumattomat sisäänrakennetut esineet ovat hashable , kun taas ei muunnettavia säiliöitä (esim luetteloita tai sanakirjat) ovat. Objektit, jotka ovat käyttäjän määrittämien luokkien esiintymiä, ovat hashable oletuksena; ne kaikki vertaavat eriarvoisia, ja niiden hash-arvo on heidän id().

Ovatko monikot hajautuskelpoisia Pythonissa?

10.1 Tuples ovat muuttumattomia Arvot, jotka on tallennettu kohtaan a monikko voivat olla mitä tahansa tyyppiä, ja ne indeksoidaan kokonaisluvuilla. Tärkein ero on se tuples ovat muuttumattomia. Tuples ovat myös vertailukelpoisia ja hashable jotta voimme lajitella luetteloita niistä ja käyttää niitä tuples keskeisinä arvoina Python sanakirjoja.

mitä tarkoittaa, että jokin on hajautettavissa? Esine On sanottu olevan hashable jos se on hash-arvo, joka pysyy samana koko elinkaarensa ajan. Objektit, jotka ovat käyttäjän määrittämiä luokkia ovat puhdistettavissa oletuksena; ne kaikki vertaavat eriarvoisia (paitsi itseensä) ja niiden hash-arvoa On johdettu niidenid().

Kun tämä otetaan huomioon, mitä Unhashable tarkoittaa Python?

Tyyppivirhe: hajauttamaton tyyppi: "luettelo" yleensä tarkoittaa että yrität käyttää luetteloa hash-argumenttina. Tämä tarkoittaa että kun yrität tiivistää an hajauttamaton objekti aiheuttaa virheen. esim. Tavallinen tapa ratkaista tämä ongelma on lähettää luettelo monikkoon.

Ovatko luettelot muuttumattomia Pythonissa?

Kaikki sisään Python on esine. Ja mitä jokainen uusi tulokas Python pitäisi nopeasti oppia, että kaikki esineetsin Python voi olla joko muuttuva tai muuttumaton . Sisäänrakennettujen tyyppien objektit, kuten (int, float, bool, str, tuple, unicode) ovat muuttumaton . Sisäänrakennetut objektit, kuten ( lista , set, dict) ovat muuttuvia.

Suositeltava: