Un dicționar în Python este o colecție de data neordonată, modificabilă, care nu permite duplicate.
Are formatul: { cheie : valoare }
Intro
d = {"cheie1": "valoare", "cheie2": "valoare2"}
print(d)
Un dicționar este asemănător cu o listă, doar că în cazul dicționarelor puteți să accesați valorile prin intermediul unei chei, și nu prin intermediul unui index. O cheie poate fi un string sau un număr.
Dicționarele sunt utile pentru asemenea lucruri ca: lista numerelor de telefoane (având perechile nume - număr), pagini de logare (având perechile adresa de e-mail - nume de utilizator) și nu doar!
Dicționar gol
dict_clear = {}
Accesarea elementelor
Putem accesa un element prin cheie (accesarea unei valori din dicționar după o cheie e aceeași cum am accesa valorile din liste după indecși)
d = {"cheie1": "câine", "cheie2": "valoare2"}
print(d["cheie1"])
print(d["cheie2"])
La fel putem accesa un element prin cheie utilizând metoda .get:
d = {"cheie1": "câine", "cheie2": "valoare2"}
print(d["cheie2"])
print(d.get("cheie3"))
Daca cheie este in dicționar
Cum verificăm dacă în următorul dicționar există cheia "cheie3"?
dictionar = {"cheie1": "valoare1", "cheie2": "valoare2"}
if "valoare1" in dictionar:
print("valoare1 exista")
else:
print("valoare1 nu exista")
Modificarea valorilor
Modificăm valorile din dicționar prin accesul la cheie.
d = {"cheie1": "valoare", "cheie2": "valoare2"}
print(d)
d["cheie1"] = "O noua valoare!"
print(d)
Adăugarea valorilor
La fel ca listele, dicționarele sunt "flexibile". Aceasta înseamnă că ele pot fi schimbate după ce au fost create. Un avantaj al acestui fapt este ceea că putem adăuga în dicționarele deja create noi perechi cheie-valoare, în felul următor:
dictionar = {1:"a", 2:"b", 3:"c"}
print(dictionar)
del dictionar
print(dictionar)
Copierea dicționarului
.copy() - Copie elementele dintr-un dicționar în alt dicționar
Daca vom utiliza dict2 = dict1, nu este corect, deoarece variabila dict1 este o referință la structura de date creată. Când atribuim unei noi variabile o variabilă existentă, se copiază referința, nu elementele.
autori_carti = {
"J.K.Rowling": ["Harry Potter 1", "Fantastic Beasts and Where To Find Them"],
"Dan Brown": ["Codul lui Da Vinci", "Fortareata digitala"]
}
Accesarea unui element din dicționar de așa fel este similară cu accesarea valorilor dintr-o listă 2-Dimensională