Je li lista hashable Python?
Je li lista hashable Python?

Video: Je li lista hashable Python?

Video: Je li lista hashable Python?
Video: Hash Table And HashMap In Python | Implementing Hash Tables Using Dictionary In Python | Edureka 2024, Maj
Anonim

Sve Python's nepromjenjivi ugrađeni objekti su hashable , dok nema promjenjivih kontejnera (kao što je liste ili rječnici) su. Objekti koji su instance korisnički definiranih klasa su hashable po defaultu; svi oni porede nejednako, a njihova heš vrijednost je njihov id().

Samo tako, da li se tuple mogu heširati u Pythonu?

10.1 Tuples su nepromjenjive Vrijednosti pohranjene u a tuple mogu biti bilo koje vrste, a indeksirani su cijelim brojevima. Bitna razlika je u tome tuples su nepromjenjivi. Tuples su takođe uporedivi i hashable tako da možemo sortirati njihove liste i koristiti ih tuples kao ključne vrijednosti u Python rječnici.

šta znači da se nešto može heširati? Objekt je rekao da je hashable ako ima hash vrijednost koja ostaje ista tokom svog životnog vijeka. Objekti koji su instance korisnički definiranih klasa arehashable po defaultu; svi oni porede nejednake (osim sa sobom) i njihovu hash vrijednost je izvedeno iz theirid().

S obzirom na ovo, šta Unhashable znači Python?

TypeError: unhashable tip: 'list' obično znači da pokušavate koristiti listu kao hash argument. Ovo znači da kada pokušate da heširate unhashable objekt to će rezultirati greškom. Za npr. Standardni način da se riješi ovaj problem je da se lista dovede u tuple.

Da li su liste nepromjenjive u Pythonu?

Sve unutra Python je objekat. I u šta svaki pridošlica Python treba brzo naučiti da su svi objekti Python može biti promjenjiv ili nepromjenjiv . Objekti ugrađenih tipova kao što su (int, float, bool, str, tuple, unicode) su nepromjenjiv . Objekti ugrađenih tipova poput ( lista , set, dict) su promjenjivi.

Preporučuje se: