Dictionaries als opzoektabellen
Sleutels aan waarden koppelen voor snelle toegang
Dictionaries als opzoektabellen is een gratis Voorbereiding op programmeerinterviews-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Voorbereiding op programmeerinterviews. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Voorbereiding op programmeerinterviews bevat in totaal 4 lessen.
Het idee achter een woordenboek
Een woordenboek koppelt sleutels aan waarden, zodat je een opgeslagen antwoord op naam kunt ophalen zonder alles te doorzoeken. Het is je opzoektabel voor programmeerwedstrijden. 🔑
Toegang in constante tijd
Net als een set berekent een dict de hashwaarde van de sleutel, waardoor lezen en schrijven ongeveer O(1) kosten. Daarom vervangt het trage lineaire zoekopdrachten.
Een woordenboek maken
Schrijf sleutel-waardeparen tussen accolades, of begin leeg met één paar accolades. Elke sleutel verwijst naar precies één waarde.
age = {'amy': 21, 'bob': 19}
empty = {}Lezen op sleutel
Haal een waarde op met vierkante haken rond de sleutel. De sleutel werkt als een index, maar kan een tekenreeks, getal of tuple zijn.
print(age['amy'])Ontbrekende sleutels veroorzaken fouten
Als je met vierkante haken een ontbrekende sleutel leest, ontstaat een KeyError. In een wedstrijd leidt dat meteen tot een foutmelding tijdens de uitvoering.
Veilig lezen met get
Gebruik get om een standaardwaarde terug te geven in plaats van een fout te veroorzaken wanneer een sleutel ontbreekt. Zo lees je veilig sleutels die misschien niet bestaan.
count = age.get('zoe', 0)Invoegen en bijwerken
Door een waarde aan een sleutel toe te wijzen, voeg je die toe of overschrijf je de oude waarde. Met dezelfde syntaxis kun je dus zowel invoegen als bijwerken.
age['cara'] = 25
age['amy'] = 22Controleren vóór het lezen
Controleer met in eerst of een sleutel bestaat voordat je erop vertrouwt. Zo voorkom je een KeyError en blijft je logica duidelijk.
if 'bob' in age:
print(age['bob'])Waarden aan posities koppelen
Een klassieke truc is om voor elke waarde de index op te slaan, zodat je later in één stap kunt opzoeken waar die stond. Dat is handig bij opgaven waarin je paren moet vinden.
pos = {}
for i, v in enumerate(nums):
pos[v] = iDoor sleutel-waardeparen lopen
Doorloop sleutels en waarden samen met items. Dat is duidelijker dan elke waarde binnen de lus opnieuw opzoeken.
for name, a in age.items():
print(name, a)Sleutels moeten hashbaar zijn
Woordenboeksleutels moeten hashbaar zijn, dus gebruik getallen, tekenreeksen of tupels. Een lijst kan geen sleutel zijn, maar een tuple met gehele getallen wel.
seen = {(0, 0): 'start'}Korte controle
Je wilt een sleutel lezen die misschien niet bestaat, zonder dat er een fout ontstaat.
Samenvatting
Een woordenboek koppelt sleutels aan waarden voor opzoekacties in O(1). Gebruik get voor veilig lezen en sla indices op om trage zoektochten in directe antwoorden te veranderen. 🚀
Leer Voorbereiding op programmeerinterviews met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 90
- Lessen
- 360
Veelgestelde vragen
Is de les “Dictionaries als opzoektabellen” gratis?
Ja — de volledige tekst van “Dictionaries als opzoektabellen” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Voorbereiding op programmeerinterviews wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Voorbereiding op programmeerinterviews bevat in totaal 4 lessen.
Wat leer ik in “Dictionaries als opzoektabellen”?
Sleutels aan waarden koppelen voor snelle toegang Je oefent met Voorbereiding op programmeerinterviews door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Voorbereiding op programmeerinterviews te beginnen?
Ervaring vooraf is niet nodig. Voorbereiding op programmeerinterviews op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “Dictionaries als opzoektabellen”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Voorbereiding op programmeerinterviews?
Ja. Elke les over Voorbereiding op programmeerinterviews bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Sets voor lidmaatschap en deduplicatie
- Dictionaries als opzoektabellen
- Counter en defaultdict in actie
- Groeperen en indelen met een map