Ordbøker som oppslagstabeller
Knytt nøkler til verdier for rask tilgang
Ordbøker som oppslagstabeller er en gratis leksjon i Forberedelse til kodeintervjuer på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Forberedelse til kodeintervjuer, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Forberedelse til kodeintervjuer inneholder totalt 4 leksjoner.
Ideen bak ordbøker
En ordbok knytter nøkler til verdier, slik at du kan hente et lagret svar ved navn i stedet for å lete gjennom alt. Den fungerer som oppslagstabellen din i konkurranseoppgaver. 🔑
Tilgang på konstant tid
I likhet med et sett hasher en dict nøkkelen, så lesing og skriving tar omtrent O(1). Det er denne hastigheten som gjør at den erstatter langsomme lineære søk.
Opprett en ordbok
Skriv par med nøkler og verdier innenfor krøllparenteser, eller start tom med et par vanlige krøllparenteser. Hver nøkkel peker på nøyaktig én verdi.
age = {'amy': 21, 'bob': 19}
empty = {}Les med nøkkel
Hent en verdi ved å bruke hakeparenteser rundt nøkkelen. Nøkkelen fungerer som en indeks, men kan være en streng, et tall eller en tuppel.
print(age['amy'])Manglende nøkler gir krasj
Hvis du leser en manglende nøkkel med hakeparenteser, utløses en KeyError. I en konkurranse blir dette umiddelbart bedømt som en kjøretidsfeil.
Trygg lesing med get
Bruk get for å returnere en standardverdi i stedet for å krasje når en nøkkel mangler. Det er den trygge måten å lese nøkler som kanskje mangler på.
count = age.get('zoe', 0)Sett inn og oppdater
Tilordning til en nøkkel enten legger den til eller overskriver den gamle verdien. Den samme syntaksen håndterer både innsetting og oppdatering.
age['cara'] = 25
age['amy'] = 22Sjekk før du leser
Kontroller om nøkkelen finnes, med in, før du stoler på den. Dette beskytter mot KeyError og gjør logikken tydelig.
if 'bob' in age:
print(age['bob'])Knytt verdier til posisjoner
Et klassisk triks er å lagre hver verdi sin indeks, slik at du senere kan slå opp hvor den var, i ett trinn. Dette er nyttig i oppgaver der du skal finne par.
pos = {}
for i, v in enumerate(nums):
pos[v] = iGå gjennom par
Gå gjennom nøkler og verdier samtidig med items. Det er ryddigere enn å slå opp hver verdi på nytt inne i løkken.
for name, a in age.items():
print(name, a)Nøkler må være hashbare
Ordboknøkler må være hashbare, så bruk tall, strenger eller tupler. En liste kan ikke være en nøkkel, men en tuppel med heltall kan.
seen = {(0, 0): 'start'}Hurtigsjekk
Du vil lese en nøkkel som kanskje ikke finnes, uten at programmet krasjer.
Oppsummering
En ordbok knytter nøkler til verdier for oppslag på O(1). Bruk get for trygg lesing, og lagre indekser for å gjøre langsomme gjennomganger om til umiddelbare svar. 🚀
Lær deg Forberedelse til kodeintervjuer med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 90
- Leksjoner
- 360
Ofte stilte spørsmål
Er leksjonen «Ordbøker som oppslagstabeller» gratis?
Ja – hele teksten i «Ordbøker som oppslagstabeller» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Forberedelse til kodeintervjuer-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Forberedelse til kodeintervjuer inneholder totalt 4 leksjoner.
Hva lærer jeg i «Ordbøker som oppslagstabeller»?
Knytt nøkler til verdier for rask tilgang Du øver på Forberedelse til kodeintervjuer med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Forberedelse til kodeintervjuer?
Ingen tidligere erfaring er nødvendig. Forberedelse til kodeintervjuer på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.
Hvor lang tid tar leksjonen «Ordbøker som oppslagstabeller»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Forberedelse til kodeintervjuer-leksjonen?
Ja. Alle Forberedelse til kodeintervjuer-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Mengder for medlemskap og deduplisering
- Ordbøker som oppslagstabeller
- Counter og defaultdict i praksis
- Grupper og legg i bøtter med et map