Sobes.tech
Middle

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.