1.8. Dictionaries#

De laatste soort variabele dat we gaan bekijken zijn dicts (dictionaries). Variabelen van het type dict zijn een soort uitgebreide lijsten. Een dict combineert labels met waarden (of, in Python-taal: keys met values).

Op deze manier kan je makkelijker onthouden wat een bepaalde waarde betekent en verschillende waarden die bij elkaar horen verzamelen in één object.

Je maakt een dictionary aan door accolades ({}) te gebruiken. Tussen deze accolades zet je dan eerst het label, gevolgd door een dubbele punt (:) en de waarde die bij dat label hoort. Elk van deze label-waarde paren wordt gescheiden door een komma (,).

Een voorbeeld van het gebruik van een dict-variabele is het beschrijven van de eigenschappen van een persoon, bijvoorbeeld:

persoon = {'naam': 'Freek', 'leeftijd': 128, 'haarkleur': 'bruin'}

type(persoon)
dict
persoon
{'naam': 'Freek', 'leeftijd': 128, 'haarkleur': 'bruin'}

De waarden in een dict worden niet per se in dezelfde volgorde bewaard als dat je ze ingevuld hebt. Dit maakt ook niet uit, want om een object uit het dict terug te halen gebruiken we dit keer geen index. In plaats daarvan kunnen we nu de labels (keys) gebruiken die we gedefinieerd hebben. Vergelijk bijvoorbeeld deze twee manieren om dezelfde eigenschappen van een persoon op te slaan en weer op te vragen:

persoon_dict = {'naam': 'Freek', 'leeftijd': 30, 'haarkleur': 'bruin'}
persoon_list = ['Freek', 30, 'bruin']
persoon_dict['naam']
'Freek'
persoon_list[0]
'Freek'

Als we een bepaalde waarde uit een dict opvragen, kunnen we die (tijdelijk) weer in een andere variabele opslaan, bijvoorbeeld als we weer met de waarde verder willen rekenen.

leeftijd = persoon['leeftijd']

type(leeftijd)
int

Ook na het aanmaken van een dict kan je de objecten daarin nog aanpassen en kan je ook nieuwe labels toevoegen

persoon = {'naam': 'Freek', 'leeftijd': 30, 'haarkleur': 'bruin'}

persoon['leeftijd'] = 31
persoon['schoenmaat'] = 45.5
persoon
{'naam': 'Freek', 'leeftijd': 31, 'haarkleur': 'bruin', 'schoenmaat': 45.5}