Sõnastik (dict)

Järjekordne Python-i andmestruktuur on sõnastik ehk dictionary. Sõnastik erineb järjendist selle poolest, et kui järjendis (list) on võtmeks alati täisarv, ehk vastavad indeksid, siis sõnastikus saab võtmeks olla ka sõne või muud lihtsamad tüübid.

dog_owners = { 'Mati': 'labrador', 'Kati': 'beagle', 'Kadri': 'poodle'}

Sõnastiku loomine käib sarnaselt listi loomisega, aga seekord looksulgudega ning iga elemendi jaoks tuleb määrata elemendi võti ja väärtus. Sõnastik on järjekorrata ehk elemendid võivad esineda erinevas järjekoras.

Elementidele ligipääsemine

Elemendi saamiseks on kaks erinevat valikut, dicionary[key] ja dictionary.get(key).

dog_owners = {'Mati': 'labrador', 'Kati': 'beagle', 'Kadri': 'poodle'}
subject_grades = {'math': 1, 'physics': 4, 'english': 4}

print("Mati's dog breed is " + dog_owners['Mati'] + ".")
print("My english grade is " + str(subject_grades.get('english')) + ".")

Jooksutades seda koodi saame:

Mati's dog breed is labrador.
My english grade is 4.

Elementidele ligipääsemiseks on alati vaja teada võtme ehk key nimetust.

Elementide lisamine

Sõnastikku saab ka elemente juurde lisada võtme omistamise meetodil. dictionary[key] = value

subject_grades = {'math': 1, 'physics': 4, 'english': 4}
print(subject_grades)

subject_grades['literature'] = 3
print(subject_grades)

Tulemuseks on uus element sõnastikus

{'math': 1, 'physics': 4, 'english': 4}
{'math': 1, 'physics': 4, 'english': 4, 'literature': 3}

Elementide eemaldamine

Kõige lihtsam viis sõnastikust elemente eemaldada on del võtmesõnaga.

subject_grades = {'math': 1, 'physics': 4, 'english': 4}
print(subject_grades)

del subject_grades['math']
print(subject_grades)

tulemuseks on

{'english': 4, 'math': 1, 'physics': 4}
{'english': 4, 'physics': 4}

Operatsioonid sõnastikega

subject_grades = {‘math’: 1, ‘physics’: 4, ‘english’: 4}

Sisend Väljund
len({‘math’: 1, ‘physics’: 4, ‘english’: 4}) 3
subject_grades.keys() [‘english’, ‘physics’, ‘math’]
subject_grades.values() [1, 4, 4]
‘math’ in subject_grades True

Lisamaterjalid sõnastike kohta

Rohkem saab lugeda ametlikust pydoc-is.

https://docs.python.org/3/tutorial/datastructures.html#dictionaries