Ordbøker
Skrevet av: Ole Kristian Pedersen, Kodeklubben Trondheim
Introduksjon
Dette er en kort oppgave som viser hvordan man bruker ordbøker.
Nøkler og verdier
En ordbok (dictionary på engelsk) brukes for å lagre nøkkel/verdi-par. Tenk deg at du skal ha en norsk-engelsk ordbok. Da vil nøkkelen være ordet du slår opp på, for eksempel det norske ordet. Verdien vil være det engelske ordet. F.eks. nøkkelen "ost"
og verdien "cheese"
. I Python skrives ordbøker med {}
slik som dette:
'ost':'cheese', 'brød':'bread'}
d
{'ost': 'cheese', 'brød': 'bread'}
d = {
I eksempelet over lagde vi en norsk-engelsk ordbok til variabelen d
. Nøkkel og verdi har et kolon :
mellom seg, og 'nøkkel':'verdi'
-parene skilles med ,
. For å slå opp på en nøkkel, bruker vi [nøkkel]
, slik som dette:
'ost']
'cheese'
d[
Vi kan bruke den samme skrivemåten for å lage nye nøkkel/verdi-par eller endre verdien knyttet til en nøkkel:
'farge'] = 'colour'
# legger til en ny verdi
d
{'ost': 'cheese', 'brød': 'bread', 'farge': 'colour'}
d['farge'] = 'color'
# endrer verdien
d
{'ost': 'cheese', 'brød': 'bread', 'farge': 'color'}
d[
En tom ordbok opprettes slik:
d = {}
d
{}
Merk: Bare tekst og tall kan brukes som nøkler, men verdiene kan være hva som helst: tekstar, tall, lister, ordbøker, funksjoner, osv.
Vi skal nå skrive et program som lar en bruker lage en ordbok. Programmet skal ta i mot 3 nøkkel/verdi-par, deretter be om en nøkkel å slå opp på og til slutt vise hvilken verdi som tilhører nøkkelen. Det skal fungere slik:
Skriv inn en nøkkel: ost Skriv inn en verdi: cheese Skriv inn en nøkkel: brød Skriv inn en verdi: bread Skriv inn en nøkkel: farge Skriv inn en verdi: color Hvilken nøkkel vil du slå opp på? brød Tilhørende verdi er bread
Dette må du gjøre:
Gå igjennom ordbøker
Du kan bruke en løkke til å hente ut nøklene til en ordbok:
'brød': 3, 'ost': 1}
for key in d:
print("Nøkkel:", key)
print("Verdi:", d[key])
...
Nøkkel: ost
Verdi: 1
Nøkkel: brød
Verdi: 3
d = {
Dersom du bare trenger verdiene kan du bruke d.values()
:
for val in d.values():
print("Verdi:", val)
...
Verdi: 1
Verdi: 3
Dersom du ønsker få tilgang til både nøkkel og verdi kan du bruke d.items()
:
for key, value in d.items():
print(key, value)
...
ost 1
brød 3
Vi skal nå lage et handleliste-program som lar brukeren velge hva og hvor mye som skal være på handlelista. Programmet skal se slik ut:
Skriv en gjenstand: brød Hvor mange? 2 Skriv en gjenstand: tomat Hvor mange? 5 Skriv en gjenstand: Her er handlelista: 2 brød 5 tomat
Dette må du gjøre:
-
-
Be om antall.
-
Lagre til en ordliste.
-
Bruk gjenstanden som nøkkel og antallet som verdi.
-
-
Hint: Gå gjennom nøklene.
Forbedre denne siden
Funnet en feil? Kunne noe vært bedre?
Hvis ja, vennligst gi oss tilbakemelding ved å lage en sak på Github eller fiks feilen selv om du kan. Vi er takknemlige for enhver tilbakemelding!