Dictionaries
Een dictionary slaat waarden op met een sleutel (key) in plaats van een nummer. Je kunt het zien als een woordenboek: je zoekt een woord op (de sleutel) en krijgt de betekenis (de waarde).
Een dictionary maken
Een dictionary maak je met {} en sleutel: waarde paren:
leerling = {
"naam": "Sara",
"leeftijd": 15,
"klas": "3B"
}
print(leerling)
Waarden opvragen
Gebruik de sleutel tussen [] om een waarde op te vragen:
leerling = {
"naam": "Sara",
"leeftijd": 15,
"klas": "3B"
}
print(leerling["naam"]) # Sara
print(leerling["leeftijd"]) # 15
Waarden toevoegen en veranderen
leerling = {"naam": "Sara", "leeftijd": 15}
# Waarde veranderen
leerling["leeftijd"] = 16
# Nieuwe sleutel toevoegen
leerling["school"] = "Corderius"
print(leerling)
Controleren of een sleutel bestaat
leerling = {"naam": "Sara", "leeftijd": 15}
print("naam" in leerling) # True
print("school" in leerling) # False
Door een dictionary loopen
leerling = {"naam": "Sara", "leeftijd": 15, "klas": "3B"}
# Door de sleutels
for sleutel in leerling:
print(sleutel)
# Door sleutels én waarden
for sleutel, waarde in leerling.items():
print(f"{sleutel}: {waarde}")
Oefening 1
Maak een dictionary voor je favoriete film met de sleutels "titel", "jaar" en "score". Print elke waarde apart.
film = {
...
}
print(f"Titel: {film[...]}")
print(f"Jaar: {film[...]}")
print(f"Score: {film[...]}")💡 Tip
Vul de dictionary met "titel": "...", "jaar": ..., "score": ... en vraag de waarden op met film["titel"] etc.
✅ Oplossing
film = {
"titel": "Spider-Man",
"jaar": 2021,
"score": 8.5
}
print(f"Titel: {film['titel']}")
print(f"Jaar: {film['jaar']}")
print(f"Score: {film['score']}")
Oefening 2
Maak een dictionary met de prijzen van producten. Bereken de totaalprijs van een boodschappenlijstje.
prijzen = {
"brood": 2.50,
"kaas": 4.00,
"melk": 1.20,
"appel": 0.80
}
boodschappen = ["brood", "melk", "appel"]
totaal = 0
for product in boodschappen:
totaal += ...
print(f"Totaal: €{totaal:.2f}")💡 Tip
Gebruik prijzen[product] om de prijs van elk product op te zoeken.
✅ Oplossing
prijzen = {
"brood": 2.50,
"kaas": 4.00,
"melk": 1.20,
"appel": 0.80
}
boodschappen = ["brood", "melk", "appel"]
totaal = 0
for product in boodschappen:
totaal += prijzen[product]
print(f"Totaal: €{totaal:.2f}")
Oefening 3
Print alle sleutels en waarden van een dictionary met een loop.
persoon = {
"naam": "Daan",
"leeftijd": 16,
"hobby": "programmeren",
"stad": "Utrecht"
}
for ...:
print(f"{sleutel}: {waarde}")💡 Tip
Gebruik .items() om door sleutels en waarden tegelijk te loopen: for sleutel, waarde in persoon.items():.
✅ Oplossing
persoon = {
"naam": "Daan",
"leeftijd": 16,
"hobby": "programmeren",
"stad": "Utrecht"
}
for sleutel, waarde in persoon.items():
print(f"{sleutel}: {waarde}")
Oefening 4
Tel hoe vaak elke letter voorkomt in een woord. Sla het resultaat op in een dictionary.
woord = "programmeren"
teller = {}
for letter in woord:
if letter in teller:
teller[letter] += 1
else:
...
print(teller)💡 Tip
Als de letter al in de dictionary staat, tel je 1 op. Zo niet, maak je een nieuwe sleutel aan met waarde 1: teller[letter] = 1.
✅ Oplossing
woord = "programmeren"
teller = {}
for letter in woord:
if letter in teller:
teller[letter] += 1
else:
teller[letter] = 1
print(teller)