De ce cheile dintr-un dicționar Python trebuie să fie imuabile și se pot folosi chei schimbătoare?
sobes.tech AI
Răspuns de la AI
Cheile dintr-un dicționar Python trebuie să fie imuabile, deoarece dicționarul utilizează hashing pentru acces rapid la valori. Dacă cheia este modificabilă, hash-ul său se poate schimba după inserare, ceea ce face imposibilă găsirea acelei chei și, implicit, a valorii.
De exemplu, șirurile, numerele și tuple-urile (care conțin elemente imuabile) sunt chei potrivite, deoarece hash-ul lor rămâne constant.
Nu se pot folosi chei modificabile (cum ar fi listele sau dicționarele) deoarece acestea nu au un hash constant și nu suportă metoda hash(). Încercarea de a folosi un obiect modificabil ca cheie va provoca o eroare TypeError.
Exemplu:
my_dict = {}
my_dict[[1, 2, 3]] = "value" # TypeError: unhashable type: 'list'
Astfel, imuabilitatea cheilor garantează funcționarea corectă a tabelului hash al dicționarului.