6  Slovarji

Gradivi za to poglavje sta

Dostopanje do vrednosti

Do vrednosti dostopamo podobno kot pri seznamih, le da namesto indeksov uporabimo ključe.

s = {'a': 6, 'b': 'test', 123: True}
print(s['b'])
test

Če ključ ne obstaja pride do napake. Temu se lahko izognemo z metodo get

s = {'a': 6, 'b': 'test', 123: True}
print(s.get('a'))
print(s.get('ž', 100000))
6
100000

Spreminjanje in dodajanje

s = {'a': 6, 'b': 'test', 123: True}
s['a'] = 10
s['abcd'] = False
print(s)
{'a': 10, 'b': 'test', 123: True, 'abcd': False}

Nov par ključ-vrednost dodamo tako kot piše v tretji vrstici zgornjega primera. Pri dodajanju ni pomembno, če ključ še ne obstaja v slovarju, ampak se neobstoječi ključ doda, vrednost pa se nastavi na vrednost desno od enačaja.

Brisanje

s = {'a': 6, 'b': 'test', 123: True}
del s['a']
print(s)
{'b': 'test', 123: True}

Metode

  • s.get(kljuc, privzeta_vrednost) vrne vrednost, ki ustreza ključu kljuc, če ključ ne obstaja v slovarju vrne None; lahko podamo še neobvezni parameter privzeta_vrednost, ki jo vrne, če ključ ne obstaja; glej primer na vrhu strani
  • s.pop(kljuc) iz slovarja odstrani par s ključem kljuc in vrne vrednost
  • s.update(s2) k slovarju s doda pare slovarja s2
  • s.values() za uporabo v zankah; vrne vrednosti v slovarju; s funkcijo list pretvorimo v seznam
  • s.keys() za uporabo v zankah; vrne ključe v slovarju; s funkcijo list pretvorimo v seznam
  • s.items() za uporabo v zankah; vrne nabore ključev in vrednosti; s funkcijo list pretvorimo v seznam

Preverjanje vsebovanja

Kot pri seznamih in nizih uporabimo ključno besedo in, da preverimo ali se nek ključ/vrednost/par nahaja v slovarju.

s = {'a': 6, 'b': 'test', 123: True}
print('test' in s.values())
print('b' in s.keys())
print(('a', 6) in s.items())
True
True
True

Zanke

Zanka po vrednostih v slovarju.

s = {'a': 6, 'b': 'test', 123: True}
for v in s.values():
    print(v)
6
test
True

Zanka po ključih v slovarju.

s = {'a': 6, 'b': 'test', 123: True}
for k in s.keys(): # lahko tudi "for k in s:"
    print(k)
a
b
123

Zanka po parih v slovarju.

s = {'a': 6, 'b': 'test', 123: True}
for kljuc, vrednost in s.items():
    print(kljuc, '->', vrednost)
a -> 6
b -> test
123 -> True