V primeru na prejšnji strani bi se telo zanke izvedlo trikrat, pri čemer bi števec k
enkrat dobil vrednost "ena"
, enkrat "dve"
in enkrat "tri"
(čeprav je težko vnaprej reči, v kakšnem vrstnem redu bi nastopili ti trije ključi, saj ključi v slovarju niso urejeni).
Napiši funkcijo SestaviSlovar(kljuci, vrednosti)
, ki dobi tabelo ključev in (enako dolgo) tabelo pripadajočih vrednosti ter vrne slovar, v katerem so shranjeni ti ključi in vrednosti tako, da ključu kljuci[i]
pripada vrednost vrednosti[i]
.
Primer: SestaviSlovar(["ena", "dve", "tri"], [10, 20, 30])
mora vrniti enak slovar, kot bi ga dobili z izrazom {"ena": 10, "dve": 20, "tri": 30}
.
Napiši funkcijo ZdruziSlovarja(slovar1, slovar2)
, ki v slovar slovar1
doda vse tiste ključe (skupaj z njihovimi pripadajočimi vrednostmi) iz slovar2
, ki jih od prej še ni bilo, v slovar1
. Funkcija naj vrne število tako dodanih ključev.
Primer: če imamo slovar1 = {"ena": 1, "tri": 3}
in slovar2 = {"ena": 10, "dve": 20}
, mora ZdruziSlovarja(slovar1, slovar2)
vrniti 1, ob vrnitvi iz klica pa mora biti slovar1
enak {"ena": 1, "dve": 20, "tri": 3}
.
Napiši funkcijo Preberi(slovar, kljuc, privzetaVrednost)
, ki vrne enak rezultat kot slovar.get(kljuc, privzetaVrednost)
, vendar ne uporablja funkcije get
.
Napiši program, ki prebere besedilo in izpiše deset najpogostejših besed v njem skupaj s številom pojavitev vsake besede.
Pri takšnem problemu je koristno uporabiti slovar, v katerem so ključi posamezne besede, pripadajoča vrednost pa je število (doslej opaženih) pojavitev te besede. Besedilo, ki ga beremo, sproti razbijamo na besede in te besede dodajamo v slovar oz. povečujemo število pojavitev v njem.