dict (dicționare) în Python

Dicționarul păstrează perechi cheie: valoare și găsește rapid valoarea după cheie.

Sintaxă
dictionar = {cheie1: valoare1, cheie2: valoare2}
dict(cheie=valoare, ...)

Ce face dict (dicționare)

Un dicționar asociază fiecărei chei o valoare, ca un cuvânt și definiția lui. Cheile sunt unice și de obicei texte sau numere; valorile pot fi orice. Accesezi o valoare cu dictionar[cheie].

Din Python 3.7, dicționarele păstrează ordinea în care au fost adăugate cheile. Le parcurgi cu .items() (perechi), .keys() (chei) sau .values() (valori).

dict() creează un dicționar din argumente cu nume, dintr-o listă de perechi sau dintr-un alt dicționar.

Parametri

Parametru Descriere
mapping / iterabil / **kwargs Opțional, pentru dict(). Un dicționar, o listă de perechi (cheie, valoare) sau argumente cu nume.

Ce returnează

dict() returnează un dicționar nou.

Exemple

Exemplul 1: Creare, citire și modificare

persoana = {"nume": "Ana", "oras": "Iași", "varsta": 25}
print(persoana["nume"])
persoana["varsta"] = 26
persoana["email"] = "ana@exemplu.ro"
del persoana["oras"]
print(persoana)
print("oras" in persoana)

Rezultat

Ana
{'nume': 'Ana', 'varsta': 26, 'email': 'ana@exemplu.ro'}
False

Exemplul 2: Parcurgere cu items()

stoc = {"mere": 50, "pere": 0, "prune": 12}
for fruct, kg in stoc.items():
    stare = "epuizat" if kg == 0 else f"{kg} kg"
    print(f"{fruct}: {stare}")

Rezultat

mere: 50 kg
pere: epuizat
prune: 12 kg

Exemplul 3: dict() și dicționar din două liste

print(dict(nume="Mihai", varsta=30))
chei = ["luni", "marți", "miercuri"]
ore = [8, 6, 7]
print(dict(zip(chei, ore)))

Rezultat

{'nume': 'Mihai', 'varsta': 30}
{'luni': 8, 'marți': 6, 'miercuri': 7}

Greșeli frecvente

  • Citești o cheie care nu există cu d[cheie] și primești KeyError. Verifică cu in sau folosește d.get(cheie), care returnează None.
  • Folosești o listă drept cheie: {[1, 2]: "x"} dă TypeError: unhashable type: 'list'. Cheile trebuie să fie imutabile (text, număr, tuplu).

Comenzi înrudite

  • dict.get(): Citește valoarea unei chei; dacă cheia lipsește, returnează o valoare implicită în loc de eroare.
  • dict.items(), keys() și values(): Returnează perechile, cheile sau valorile unui dicționar, pentru parcurgere.
  • dict.update() și operatorul |: Adaugă sau suprascrie mai multe chei deodată, dintr-un alt dicționar sau din perechi.
  • collections.defaultdict: Un dicționar care creează automat o valoare implicită pentru cheile lipsă.
  • zip(): Parcurge mai multe colecții în paralel și le grupează element cu element.