Dictionare
Ca și dicționarul englez-român, el ne va ajută... sper....
Un dicționar în Python este o colecție de data neordonată, modificabilă, care nu permite duplicate.
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"])
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:
d = {"cheie1": "tort", "cheie2": "valoare2"}
print(d)
d["cheie_noua"] = "valoare_noua"
print(d)
Ștergerea elementelor
.pop(cheie)
culori = {"verde":1, "galben":2, "rosu":3, "albastru":4}
print(culori)
print()
print("Dicționarul culori după ștergerea culorii albastru:")
culori.pop("albastru")
print(culori)
del name_dict['cheie']
culori = {"verde":1, "galben":2, "rosu":3, "albastru":4}
print(culori)
print()
print("Dicționarul culori după ștergerea culorii rosu:")
del culori['rosu']
print(culori)
.popitem()
culori = {"verde":1, "galben":2, "rosu":3, "albastru":4}
print(culori)
print()
print("Dicționarul culori după ștergerea ultimului element:")
culori.popitem()
print(culori)
Ștergera dicționarului
.clear()
dictionar = {1:"a", 2:"b", 3:"c"}
print(dictionar)
dictionar.clear()
print(dictionar)
del name_dict
dictionar = {1:"a", 2:"b", 3:"c"}
print(dictionar)
del dictionar
print(dictionar)
Copierea dicționarului
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.
dict1 = {1:"a", 2:"b", 3:"c"}
dict2 = dict1
print(dict2)
dict2[1] = "A"
print("dict1 ", dict1)
print("dict2 ", dict2)
.copy()
dict1 = {1:"a", 2:"b", 3:"c"}
dict2 = dict1.copy()
print(dict2)
dict2[1]="A"
print("dict1 ", dict1)
print("dict2 ", dict2)
Accesarea elementlor .2
Putem accesa cheile unui dicționar cu for
dictionar = {"cheie1": "valoare", "cheie2": "valoare2", "cheie3": "valoare"}
for cheie in dictionar:
print(cheie)
Însă pentru a accesa valorile, utilizăm metoda .values()
dictionar = {"cheie1": "valoare", "cheie2": "valoare2", "cheie3": "valoare3"}
for valoare in dictionar.values():
print(valoare)
Pentru a accesa și cheile și valorile utilizăm metoda .items()
dictionar = {"cheie1": "valoare", "cheie2": "valoare2"}
for cheie, valoare in dictionar.items():
print("Cheie:", cheie)
print("Valoare:", valoare)
print()
Dicționar si tipuri de date
Putem avea diferite tipuri de date ca valori. Şi diferite tipuri de date chei. Deci putem avea dicționare cu tipuri de date mixte!
d = {1: "valoare1", "cheie2": "valoare2", 3.3: 3, 5: "ceva" }
print(d)
Putem avea liste drept valori ale dicționarului
autori_carti = {
"J.K.Rowling": ["Harry Potter 1", "Fantastic Beasts and Where To Find Them"],
"Dan Brown": ["Codul lui Da Vinci", "Fortareata digitala"]
}
autori_carti["J.K.Rowling"][0]
Mai multe despre dicționare: (+nested dictionary, more info)
Code -- a set of symbols whose primary purpose is to restrict comprehension.
Last updated