Funkcije i metode za rad sa rečnicima

Funkcija len takođe radi i za rečnike. Računa dužinu rečnika i kao povratnu vrednosta vraća dužinu rečnika.

  
pijaca = {'jabuka' : 213, 'kruska' : 435, 'sljiva': 323, 
'banana': 90}
print(len(pijaca))
          
Kopiraj

Nakon pokretanja programa kao rezultat dobićemo:


>>  4


Postoje dosta ugrađenih metoda koji olakšavaju rad sa rečnicima. U narednom delu biće opisane neke od njih.


Metod keys ispisuje ključeve elemenata rečnika. Poziva se na rečnik(tačka notacija), i ne prima dodate argumente.
Poziv izgleda na sledeći način: <rečnik>.keys()

  
imenik = {'ime': 'Milan', 'telefon' : '065222555',
'adresa':'Skadarska 5'}
print(imenik.keys())
          
Kopiraj

Nakon pokretanja programa kao rezultat dobićemo:


>>  ['ime', 'telefon', 'adresa']


Napomena: Ovaj metod ne ispisuje ključeve u redosledu u kome je rečnik inicijalizovan.


Metode values i items

Metod values ispisuje vrednosti elemenata rečnika. Poziva se na rečnik(tačka notacija) i ne prima dodate argumente.
Poziv izgleda na sledeći način: <rečnik>.values()

  
imenik = {'ime': 'Milan', 'telefon' : '065222555',
 'adresa':'Skadarska 5'}
print(imenik.values())
          
Kopiraj

Nakon pokretanja programa kao rezultat dobićemo:


>>  ['Milan', '065222555', 'Skadarska 5']


Napomena: Ovaj metod ne ispisuje ključeve u redosledu u kome je rečnik inicijalizovan.

Metod koji ispisuje parove ključ: vrednost je items. Poziva se na isti način na koji se pozivaju i prethodna dva metoda, na rečnik, tačka notacijom, i ne prima dodate argumente.
Poziv izgleda na sledeći način: <rečnik>.items()

  
imenik = {'ime': 'Milan','prezime':'Petrovic', 
'telefon' : '065222555', 'adresa':'Skadarska 5'}
print(imenik.items())

          
Kopiraj

Nakon pokretanja programa kao rezultat dobićemo:


>>  [('ime', 'Milan'), ('prezime', 'Petrovic'), ('telefon', '065222555'), ('adresa', 'Skadarska 5')]


Metode pop i update

Pomenuli smo funkciju del kao način za brisanje par ključ:vrednost iz rečnik. Još jedan način da izbrišemo ovaj par je metod pop, koji se poziva na rečnik, a kao argument mu prosleđujemo vrednost ključa koji hoćemo da izbrišemo. Kao povratnu vrednost dobijamo vrednost para koju smo izbrisali.
Poziv izgleda na sledeći način: <rečnik>.pop(<ključ>)


Ponekad želimo da povežemo elemente jednog rečnika proširimo drugim rečnikom. Metod update se poziva na rečnik1, a kao argument mu se prosleđuje rečnik2 kojim proširujemo rečnik1. Ako postoji preklapanje u nekom od ključeva , onda će vrednosti iz prvog rečnika biti zamenjene vrednostima iz drugog rečnika.
Poziv izgleda na sledeći način: <rečnik1>.update(<rečnik2>)


Napomena: Ovaj metod ne možete da koristite na našoj konzoli. Pročitajte uputstvo kako da instalirate Pajton na svom računaru.


  
recnik1 = {'ime': 'Laza', 'telefon': '064224433'}
recnik2 = {'ime_oca': 'Pera', 'prezime': 'Peric'}
recnik1.update(recnik2)
print(recnik1)
recnik3 = {'ime_oca': 'Rajko', 'telefon' : '062222111'}
recnik1.update(recnik3) 
print(recnik1)
          
Kopiraj

Nakon pokretanja programa kao rezultat dobićemo:


>>  {'ime_oca': 'Pera', 'ime': 'Laza', 'prezime': 'Peric', 'telefon': '064224433'}

>>  {'ime': 'Laza', 'prezime': 'Peric', 'ime_oca': 'Rajko', 'telefon': '062222111'}

Funkcija cmp

Za kraj ćemo navesti funkciju koja poredi dva rečnika, tako što upoređuje ključeve i njihove vrednosti. Funkciji cmp se kao argumenti prosleđuju dva rečnika, a vraća -1 ukoliko je prvi rečnik manji od drugog, 1 ukoliko je drugi rečnik veći od prvog i 0 ukoliko su jednaki.

Napomena: Ovaj metod ne možete da koristite na našoj konzoli. Pročitajte uputstvo kako da instalirate Pajton na svom računaru.


  
recnik1 = {'ime': 'Aca', 'Starost':21}
recnik2 = {'ime': 'Maca', 'Starost':25}
recnik3 = {'ime': 'Goca', 'Starost': 27}
recnik4 = {'ime': 'Aca', 'Starost':21}
print(cmp(recnik1,recnik2))
print(cmp(recnik1,recnik4))
print(cmp(recnik3,recnik4))
          

Nakon pokretanja programa kao rezultat dobićemo:


>>  -1

>>  0

>>  1