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știKeyError. Verifică cuinsau foloseșted.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.