Cel mai bun răspuns
Să înțelegem mai întâi ce este hashable și unhasable. În termeni simpli, numim elementele ale căror valori nu pot fi modificate ca fiind hashable și obiectele ale căror valori pot fi modificate ca unhashable.
De exemplu, în Python, toate obiectele imuabile pot fi denumite hashable în timp ce ca obiecte mutabile poate fi denumit ca unshable. Să luăm un exemplu în care putem obține o astfel de eroare și de ce o primim.
De exemplu, când utilizați o listă ca cheie în dicționar Nu se poate face și vom primi o eroare TypeError: tip unashable.
Acest lucru se întâmplă deoarece listele nu pot fi hashate și încercăm să folosim o listă ca argument hash. înseamnă că, atunci când încercați să hashați un obiect uneshable, va rezulta această eroare. Modul standard de a rezolva această problemă este de a arunca o listă la un tuplu.
Și cum tuplurile sunt imuabile și, prin urmare, hashable, poate funcționa.
Răspuns
dict = {a: 1}
Afișează eroarea de tip uneshable în python cmd pe fereastră.
Înțelesul hashable în python este valoarea care nu se schimbă niciodată. Și unhashable este opus față de Hashable. În dicționar, valoarea poate fi actualizată oricând, dar dacă interpretul python înțelege tipul său de date. În exemplul meu dict = {a: 1} (cheie = a, valoare = 1) a este un tip de date șir, dar aici nu urmează regula tipului de date șir care este scrisă Includerea caracterelor între ghilimele. Așadar, interpretul a spus că această valoare a tipului de date este una unică (modificabilă), dar tipul de date este înțeles greșit.