InfoBook.ro ← Harta anului
Modul 08 · Dicționare & clasa dict
Modul 08 · Conținuturi 1.3 + 3.3

Cheia deschide valoarea

În agenda telefonică nu cauți „poziția 37" — cauți „Ana". Modelul asociativ leagă fiecare CHEIE de o VALOARE și îți dă acces instant, fără nicio parcurgere. E dicționarul: cea mai folosită structură din programarea reală.

🎯 Obiectiv 1Înțelegi modelul asociativ: perechi cheie–valoare, chei UNICE, acces prin cheie.
🎯 Obiectiv 2Folosești clasa dict: creare, acces, adăugare, actualizare, ștergere, in.
🎯 Obiectiv 3Parcurgi dicționarul: keys, values, items — și numeri frecvențe cu el.
1

Modelul asociativ — de ce nu ajunge lista?

Cursa: găsește numărul Anei într-o agendă cu 8 contacte. Lista parcurge; dicționarul sare direct.

LISTA — parcurgere

DICȚIONARUL — acces prin cheie

apasă Start și compară cele două drumuri 👆
Exemplele din programă: aplicația de traducere (cuvântul = cheia, traducerea = valoarea) · agenda telefonică · evidența populației (CNP = cheie UNICĂ — nu pot exista două identice!) · formularul online (câmpul „nume"/„vârstă"/„email" = cheia, ce completezi = valoarea).
2

Clasa dict — sintaxa

Acolade, iar între cheie și valoare: două puncte — exact ca notația din lista de contacte.

creare

Perechi cheie: valoare între acolade. {} gol chiar E dicționar (setul gol era set()!).

agenda = {"Ana": "0722", "Dan": "0733"}
gol = {} # dict gol

acces prin cheie

d[cheie] — instant. Cheie inexistentă → KeyError; d.get(cheie) → None, fără eroare.

agenda["Ana"] # "0722"
agenda.get("Ion") # None (blând)

adăugare și actualizare

Aceeași sintaxă: dacă cheia există, valoarea se SUPRASCRIE (cheile sunt unice!).

agenda["Ion"] = "0744" # adaugă
agenda["Ana"] = "0799" # actualizează!

ștergere · apartenență · lungime

del șterge perechea; in verifică pe CHEI; len numără perechile.

del agenda["Dan"]
"Ana" in agenda # True (pe chei!)
len(agenda) # nr. perechi
3

Agenda vie — dicționarul tău interactiv

Construiește agenda: adaugă, caută, actualizează, șterge — și privește perechile cheie–valoare reacționând.

nume = "" telefon = ""
albastru = cheia · verde = valoarea. Adaugă câteva contacte, apoi încearcă să adaugi „Ana" din nou! 👆
Capcana cheilor unice: agenda["Ana"] = "0799" pe o Ana existentă NU creează a doua pereche — o SUPRASCRIE pe prima. Exact ca la evidența populației: modificarea numelui actualizează valoarea, CNP-ul rămâne unic.
4

Parcurgerea: keys, values, items

Trei feluri de a te plimba prin dicționar — plus aplicația-far: numărarea frecvențelor.

1for nume in agenda: # cheile
2 print(nume)
3for tel in agenda.values(): # valorile
4 print(tel)
5for nume, tel in agenda.items():
6 print(nume, "→", tel) # perechile

frecvențele literelor — dict în loc de vector!

1f = {}
2for c in text:
3 f[c] = f.get(c, 0) + 1
4 
5# {'a': 3, 'n': 1, ...}
text = ""
Recunoști ideea? E vectorul de frecvențe din clasa a IX-a — dar dicționarul nu mai are nevoie de „valori mici și cunoscute": cheile pot fi litere, cuvinte, orice. f.get(c, 0) = „valoarea lui c, sau 0 dacă nu există încă".
5

Verificare rapidă

Cinci întrebări despre modelul asociativ.

6

Fișa de sinteză

Modelul asociativ, condensat.

Dicționarul: perechi cheie → valoare; cheile sunt UNICE; acces instant prin cheie, fără parcurgere.
Sintaxa: d = {"cheie": valoare} · d[k] citește · d[k] = v adaugă SAU suprascrie · del d[k] șterge.
Cheie inexistentă: d[k] → KeyError · d.get(k) → None · d.get(k, 0) → valoare implicită.
in verifică pe CHEI — „Ana" in agenda, nu pe valori. len(d) = numărul perechilor.
Parcurgere: for k in d (chei) · .values() · .items() — perechile despachetate: for k, v in d.items().
Șablonul de aur: f[c] = f.get(c, 0) + 1 — frecvențe pe ORICE tip de cheie.
Preview Modulul 09: valorile unui dict pot fi LISTE — dicționar de liste (orarul: zi → lista orelor), liste de dicționare (comenzile online)… modelele MIXTE. Exact acolo mergem.
← anteriorModul 07 · Șiruri Python & clasa str urmează →Modul 09 · Modele mixte