PythonPodcast 7 - itnett/FTD02H-N GitHub Wiki

Episode 7 – Ordbøker og Menger i Python: Strukturering av Data på Avanserte Måter

Velkommen tilbake til vår Python-podcast for nybegynnere! I denne episoden skal vi gå gjennom ordbøker (dictionaries) og menger (sets), to svært kraftige datastrukturer i Python som lar oss organisere data på en mer fleksibel måte enn lister og tupler. Men først, som alltid, skal vi oppsummere det vi har lært så langt.

Oppsummering av tidligere episoder:

  1. Episode 1-3: Grunnleggende Python-syntaks, variabler, betingelser, input/output.

  2. Episode 4: Løkker som while og for.

  3. Episode 5: Funksjoner og feilhåndtering.

  4. Episode 6: Vi lærte om lister og tupler, og hvordan vi kan bruke dem til å lagre flere verdier i én variabel.

Hva er en ordbok (dictionary)?

En ordbok i Python er en samling av nøkkel-verdi-par (key-value pairs). Det betyr at i stedet for å bare ha én verdi knyttet til hver indeks, som i en liste, kan vi knytte en verdi til en nøkkel. En nøkkel kan være en streng, et tall, eller til og med en tuple.

Eksempel på en ordbok:

En enkel ordbok med nøkkel-verdi-par

student = { "navn": "Ola Nordmann", "alder": 24, "studie": "Informatikk" }

Les opp koden:

Linje 1: Vi lager en ordbok kalt student som inneholder tre nøkkel-verdi-par:

Nøkkelen "navn" har verdien "Ola Nordmann".

Nøkkelen "alder" har verdien 24 (et heltall).

Nøkkelen "studie" har verdien "Informatikk".

Hente verdier fra en ordbok

For å hente en verdi fra en ordbok, bruker vi nøkkelen i stedet for en indeks.

Hent verdien til "navn"

print(student["navn"]) # Utskrift: Ola Nordmann

Her brukte vi nøkkelen "navn" for å hente verdien "Ola Nordmann".

Endre og legge til verdier i en ordbok

En ordbok i Python er muterbar, noe som betyr at vi kan legge til, fjerne eller endre nøkkel-verdi-par.

Endre en verdi:

Endre verdien til "alder"

student["alder"] = 25 print(student["alder"]) # Utskrift: 25

Legge til et nytt nøkkel-verdi-par:

Legg til en ny nøkkel og verdi

student["hobby"] = "fotball" print(student) # Utskrift: {'navn': 'Ola Nordmann', 'alder': 25, 'studie': 'Informatikk', 'hobby': 'fotball'}

Løkker i ordbøker

Vi kan bruke løkker for å iterere gjennom både nøklene og verdiene i en ordbok.

Iterere gjennom nøklene:

for nøkkel in student: print(nøkkel)

Iterere gjennom nøkkel-verdi-par:

for nøkkel, verdi in student.items(): print(f"{nøkkel}: {verdi}")

Dette vil skrive ut hver nøkkel og dens tilhørende verdi.

Menger (sets)

En mengde (set) i Python er en uordnet samling av unike elementer. Det betyr at hver verdi bare kan vises én gang, og rekkefølgen av elementene er ikke garantert.

Eksempel på en mengde:

En enkel mengde

frukt = {"eple", "banan", "appelsin", "eple"} print(frukt) # Utskrift: {'eple', 'banan', 'appelsin'}

Her har vi opprettet en mengde med tre unike frukter, selv om vi forsøkte å legge til "eple" to ganger. Mengden vil bare beholde unike verdier.

Viktige egenskaper ved mengder:

Ingen duplikater: Hvis du prøver å legge til samme verdi flere ganger, vil den bare bli lagret én gang.

Uordnet: Elementene har ingen fast rekkefølge, så de vil ikke nødvendigvis bli skrevet ut i samme rekkefølge som de ble lagt til.

Operasjoner med mengder

Mengder har noen kraftige innebygde operasjoner som gjør det enkelt å sammenligne og kombinere dem.

Union (forene to mengder):

set1 = {"eple", "banan"} set2 = {"appelsin", "banan"} union_set = set1.union(set2) print(union_set) # Utskrift: {'eple', 'banan', 'appelsin'}

Her kombinerer vi to mengder, og duplikate verdier som "banan" blir bare inkludert én gang.

Snitt (finn felles elementer):

snitt_set = set1.intersection(set2) print(snitt_set) # Utskrift: {'banan'}

Forskjell (elementer som er unike for én mengde):

diff_set = set1.difference(set2) print(diff_set) # Utskrift: {'eple'}

Løkker i mengder

Vi kan iterere gjennom elementene i en mengde akkurat som vi gjør med lister og tupler.

for frukt in frukt: print(frukt)

Dette vil skrive ut hvert unike fruktelement i mengden.

Når skal vi bruke ordbøker, og når skal vi bruke mengder?

Ordbøker brukes når du trenger å lagre verdier knyttet til en bestemt nøkkel (for eksempel når du jobber med oppslagsdata).

Mengder brukes når du trenger å lagre unike verdier og enkelt kunne utføre sett-operasjoner som union og snitt.

Oppsummering av Episode 7:

Vi har lært at ordbøker lar oss lagre data i nøkkel-verdi-par, som gir oss fleksibilitet til å hente spesifikke verdier basert på en nøkkel.

Vi har også sett at mengder er en uordnet samling av unike elementer som gjør det enkelt å håndtere duplikater og utføre sett-operasjoner som union og snitt.

Vi har lært hvordan vi kan bruke løkker for å iterere over både ordbøker og mengder.

Oppgaver til deg:

  1. Lag en ordbok som lagrer navnet ditt, alder, og favorittsport. Skriv ut alle verdiene ved å bruke en løkke.

  2. Lag to mengder med dine favorittfrukter og sammenlign dem ved hjelp av union og snitt.


Dette var episode 7, og neste gang skal vi utforske filbehandling og hvordan vi kan lese fra og skrive til filer i Python. Dette er en viktig ferdighet som lar deg lagre og hente data fra eksterne kilder.

Vi høres neste gang!