|et

Теeма: 6 Sõnastikud

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.