Sunteți pe pagina 1din 24

Bazele programării calculatoarelor

Tema: Colecții de date Dicționare

lect. univ. Victoria ALEXEI


Departament Informatică și Ingineria Sistemelor
Facultatea Calculatoare, Informatică și Microelectronică
Colecții de date Dicționare

În acest curs vom învăța:

• Crearea unui dicționar


• Adăugarea elementelor / Modificarea datelor în dicționar
• Modalități de accesare a elementelor dicționarului
• Parcurgerea elementelor dicționarului
Crearea unui dicționar
Un dicţionar este un tip de date mutabil, care poate păstra informaţii într-o structură cheie:valoare,
unde cheia trebuie să fie unică.
Proprietăţi:
1. Nu pot exista chei duplicat;
2. Dicţionarul este un tip de date mutabil, însă cheile sale trebuie să fie de tip imutabil (numeric,
string sau tuplu);
3. Valorile pot fi orice tip de date;
4. Putem avea chei şi valori de diferite tipuri într-un dicţionar;

Elementele din dicționar sunt prezentate în perechi cheie: valoare și pot fi


accesate utilizând cheia.
{cheie : valoare}
Crearea unui dicționar
Inițializarea unui dicționar se face cu {}, funcția dict()

Exemple de dicționare Rezultate


Crearea unui dicționar
Cu funcția dict.fromkeys (seq ,value) – se va crea un dicționar cu cheile din seq
și valorile value, dacă value nu sunt atunci se atribuie valoarea None.
Exemple Rezultate

Generarea unui dicționar cu sintaxa Dict comprehension


Exemple Rezultate
Crearea unui dicționar
Valorile din elementele dicționarului pot fi de orice tip de date.
Este posibilă și asocierea mai multor valori cu o singură cheie. De exemplu, trei valori sunt
legate cu cheia "culoare“. Tuplurile pot fi utilizate dept chei în dicționare.
Exemplu

Rezultat
Funcții utile len(), min(), max()
Funcția len() – numărul de elemente conținute într-un dicționar
Funcțiile min(), max() – află elementul minim/maxim din dicționar
Exemple
NB! Dicționarele nu
pot avea două
elemente cu
aceeași cheie

Rezultate
Adăugarea elementelor în dicționar
• Accesul la elementele dicționarului se face prin cheile dicționarului
• Ordinea elementelor în dicționar diferă de cea introdusă, adică nici o ordine
• Adăugarea unui element se face prin crearea unei noi perechi cheie:valoare
• Extragerea valorii unei chei – prin sintaxa dictionar[cheie]
Exemple

Rezultate
Adăugarea elementelor în dicționar
• Prezența unei chei se verifică cu operatorul ”in”
Exemple

Rezultate

Extragerea valorilor se poate de efectuat cu metoda get(). Metoda va returna None, dacă nu există astfel de cheie.
Exemple Rezultate
Modificarea datelor în dicționar
• Înlocuirea valorilor – se utilizează [ ] și =
• Adăugarea elementelor se poate face cu [ ] și =
Exemple

Rezultate

Exemple

Rezultate
Modificarea datelor în dicționar
• Metoda dict.update() - Adăugarea conținutului unui dicționar în alt dicționar
Exemple

Rezultate

Metoda update() va actualiza dicționarul cu elementele din


argumentul dat. Argumentul trebuie să fie un dicționar sau un
obiect iterabil cu perechi cheie: valoare
Modificarea datelor în dicționar
Copierea dicționarelor se face cu metoda dict.copy()
Exemple

Rezultate
Modificarea datelor în dicționar
• Ștergerea elementelor din dicționar cu funcția del.
• Se poate de șters și dicționarul integral.
Exemple Metoda clear() golește conținutul dicționarului
Exemplu

Rezultat
Rezultate
Modificarea datelor în dicționar
• Metoda dict.pop(element) - șterge elementul specificat din dicționar și îl
returnează
Exemple

Rezultate

Metoda dict.popitem() - șterge orice element aleatoriu din dicționar și îl returnează


Exemple Rezultate
Modalități de accesare a elementelor dicționarului

Există trei metode de extragere a unei liste din dicționar prin metodele
dict.keys(), dict.values(), dict.items()

• dict.keys() - Returneazӑ o listӑ cu toate cheile dicționarului

• dict.values() - Returneazӑ o listӑ cu valorile regӑsite ȋn dicționar

• dict.items() - Returneazӑ o listӑ cu toate perechile de tipul (cheie, valoare) din


interiorul dicționarului
Modalități de accesare a elementelor dicționarului
• dict.keys() -Returneazӑ o listӑ cu toate cheile dicționarului
Exemplu

Rezultat

Exemplu Rezultat

NB! Lista de chei este o vizualizare a


dicționarului, ceea ce înseamnă că
orice modificări aduse dicționarului
vor fi reflectate în lista de chei.
Modalități de accesare a elementelor dicționarului
• dict.values() - Returneazӑ o listӑ cu valorile regӑsite ȋn dicționar
Exemplu

Rezultat

Exemplu

Rezultat

NB! Dacă vom efectua o modificare


în dicționarul original, vom vedea că
și lista de valori va fi actualizată
Modalități de accesare a elementelor dicționarului
dict.items() - Returneazӑ o listӑ cu toate perechile de tipul (cheie, valoare) din
interiorul dicționarului
Exemplu NB! Adăugați un nou element(item) în
dicționarul original și vedeți că lista de
Rezultat itemuri s-a actualizat

Rezultat

Exemplu
Modalități de accesare a elementelor dicționarului
Metodele dict.keys.(), dict.values(), dict.items() facilitează căutarea elementelor
într-un dicționar
Exemplu Rezultat
Modalități de accesare a elementelor dicționarului
Funcția zip() – returnează o listă de tupluri, în care prima valoare a tuplului este
prima listă și a doua valoare a tuplului corespunde celei de-a doua listă.
Exemplu
NB! Dacă avem o listă de elemente, care
reprezintă cheile și altă listă de
elemente, care reprezintă valorile dintr-o
listă, putem converti aceste liste într-un
Rezultat dicționar.
Parcurgerea elementelor dicționarului
Dicționarele pot fi iterate la fel ca listele. Cu toate acestea, spre deosebire de liste,
dicționarele au o ordine aleatorie a valorilor stocate.
Pentru a parcurge conținutul unui dicționar se utilizează for dar:
Variabila de iterație va fi cheia
Ordinea după care vor fi extrase elementele este imprevizibilă
Exemplu

Rezultate
Exemple de probleme
Intersecția a două dicționare
Exemple de probleme
Propuneri pentru lucrul individual
1. Revizuiți conținutul cursului

2. Creați cu ajutorul unui dicționar o bază de date ȋn care să rețineți numerele


de telefon ale colegilor de grupă.

3. Fie dat un dicționar care asociază cuvintele engleze cu traducerea lor în


română. Să se scrie un program care calculează dicționarul ”inversat”,
asociind cuvintele din egleză cu traducerile lor în română.

4. Să se scrie un program, care salvează într-o variabilă, dicționarul {‘ Euro' :' €','
Dolar' :' $',' Yen' :'Y' } . Utilizatorul cere de la tastatură numele monedei, iar
dicționarul afișează simbolul corespunzător sau un mesaj de avertizare, dacă
moneda nu este în dicționar.

S-ar putea să vă placă și