Sõnastikud (Словари)
Sõnastik (ingl. dictionary) on andmestruktuur, mis salvestab andmeid võtme-väärtus paaridena. Erinevalt listidest, kus elemendid on indekseeritud numbritega, on sõnastiku elemendid indekseeritud võtmetega, mis võivad olla erinevat tüüpi (näiteks stringid, arvud, ennikud jne).
Sõnastiku loomine
Sõnastik luuakse looksulgude {} vahel, kus iga võti ja väärtus eraldatakse kooloniga :, ning erinevad paarid eraldatakse komadega.
õpilane = {
"nimi": "Mari",
"vanus": 17,
"klass": "11B"
}
Pöördumine sõnastiku elementide poole
Sõnastiku elementidele saab pöörduda võtme abil:
print(õpilane["nimi"]) # Väljund: Mari
Kui võtit ei eksisteeri, annab see vea. Selle vältimiseks saab kasutada meetodit .get():
print(õpilane.get("aadress", "Puudub")) # Väljund: Puudub
Sõnastiku muutmine
Saab lisada uusi võtme-väärtus paare või muuta olemasolevaid:
õpilane["hobi"] = "Jalgpall" # Lisab uue võtme-väärtus paari
õpilane["vanus"] = 18 # Muudab olemasolevat väärtust
Sõnastiku meetodid
.keys()– tagastab kõik võtmed.values()– tagastab kõik väärtused.items()– tagastab võtme-väärtus paarid ennikutena.pop(võti)– eemaldab võtme ja tagastab selle väärtuse.update(teine_sõnastik)– lisab teise sõnastiku elemendid
Näide:
print(õpilane.keys()) # Väljund: dict_keys(['nimi', 'vanus', 'klass', 'hobi'])
print(õpilane.values()) # Väljund: dict_values(['Mari', 18, '11B', 'Jalgpall'])
Sõnastiku läbimine
Sõnastiku elemente saab läbida tsüklis:
for võti, väärtus in õpilane.items():
print(f"{võti}: {väärtus}")
Näide: Õpilaste andmebaas
õpilased = {
"Mari": {"vanus": 17, "klass": "11B"},
"Jaan": {"vanus": 16, "klass": "10A"},
"Liisa": {"vanus": 18, "klass": "12C"}
}
print(õpilased["Jaan"]["klass"]) # Väljund: 10A
Sõnastikud on võimsad andmestruktuurid, mis võimaldavad efektiivselt hallata keerukamaid andmehierarhiaid.
