Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Ordbøker og Ordbokmetoder | Andre Datatyper
Introduksjon til Python

Sveip for å vise menyen

book
Ordbøker og Ordbokmetoder

Ordbøker er kanskje den mest allsidige datastrukturen i Python. De lagrer data som nøkkel-verdi-par og er essensielle i situasjoner hvor data må hentes raskt, og endringer skjer ofte.

I vårt dagligvarescenario kan ordbøker effektivt håndtere leverandørinformasjon, slik at hver leverandør kan nås via navn eller ID uten å måtte søke gjennom en liste.

Se hvordan Alex demonstrerer bruk av ordbøker for vår dagligvarebutikk:

Opprettelse

Ordbøker opprettes ved å omslutte komma-separerte nøkkel-verdi-par med krøllparenteser {}.

python

Rekkefølge

Ordbøker bevarer rekkefølgen elementene legges inn i, men det er viktig å merke seg at operasjoner vanligvis utføres basert på nøkkel og ikke posisjon.

Mutabilitet (Endringsmulighet)

Ordbøker er mutable, slik at du kan legge til, oppdatere eller fjerne nøkkel-verdi-par etter at ordboken er opprettet;

Merk

Selv om ordbøker tillater flere verdier, må hver nøkkel være unik i en ordbok. Dersom en nøkkel gjentas ved tildeling, vil den siste verdien overskrive den forrige, slik at hver nøkkel kun har én tilhørende verdi.

Eksempler

La oss se på et enkelt oppslagsverk (dictionary). I stedet for å bruke indeksnumre, får du tilgang til elementene i oppslagsverket via nøklene deres, som i dette tilfellet er navnene på dagligvarene.

1234567891011
# Dictionary creation groceryItems = { "Milk": 3.49, "Eggs": 2.99, "Bread": 1.99, "Apples": 0.99 } # Extracting dictionary elements by their keys print("Price of Milk:", groceryItems["Milk"]) print("Price of Bread:", groceryItems["Bread"])
copy

Oppslagsverk (dictionaries) i Python er fleksible når det gjelder hvilke datatyper de kan lagre.

Den eneste begrensningen er at nøkler må være av en uforanderlig (immutable) type (for eksempel strings, numbers eller tuples som kun inneholder uforanderlige elementer). Dette sikrer at nøkkelen forblir uendret.

På den andre siden kan verdier i oppslagsverket være av hvilken som helst type og kan inkludere foranderlige (mutable) typer, som lister eller andre oppslagsverk.

For eksempel:

123456789
# A dictionary with various types of keys and values store_info = { "Store Name": "Grocery Galore", # String key and string value 42: "Inventory Count", # Integer key and string value ("Bread", "Milk"): [2.99, 1.59] # Tuple key and list value (prices of bread and milk) } # Extracting dictionary element (list) by its key (tuple) print("Data under key ('Bread', 'Milk'):", store_info[("Bread", "Milk")])
copy

Ordbokmetoder

Ordbøker tilbyr en rekke operasjoner og metoder som muliggjør effektiv håndtering av data. Her er noen av de mest brukte metodene:

  • get(): henter verdien for en spesifisert nøkkel, og hvis nøkkelen ikke finnes, returneres None. Dette er forskjellig fra å bruke klammeparenteser (f.eks. grocery_items["Milk"]), som vil gi en feil hvis nøkkelen ikke eksisterer;

  • update(): oppdaterer ordboken med elementer fra en annen ordbok eller en itererbar med nøkkel-verdi-par, og overskriver eksisterende nøkler;

  • pop(): fjerner en spesifisert nøkkel og returnerer tilhørende verdi.

Merk

I Python er None en spesiell verdi som betyr "ingenting" eller "ingen verdi", og brukes ofte når du vil vise at noe er tomt eller ikke har et resultat.

Eksempel på bruk

Tenk deg at du må oppdatere ordboken for et varelager i dagligvarebutikken din. Slik kan du gjøre det ved hjelp av ordbokmetoder:

12345678910111213141516171819202122
# Dictionary for a grocery store inventory inventory = { "Apples": 30, "Oranges": 18, "Bananas": 45 } # Get the count of Oranges print("Count of Oranges:", inventory.get("Oranges")) # Update inventory by adding a new item inventory.update({"Mangoes": 20}) print("Updated Inventory:", inventory) # You can also add a new item to the end of the dictionary like this inventory["Pineapples"] = 15 print("Updated Inventory:", inventory) # Remove Bananas from the inventory removed_item = inventory.pop("Bananas") print("Removed Item:", removed_item) print("Current Inventory:", inventory)
copy
Oppgave

Swipe to start coding

Administrer varelageret til en dagligvarebutikk ved å bruke et ordbok-objekt, der hver vare er et nøkkel-verdi-par med varens navn og detaljer (produkt-ID og kategori).

  • Definer en ordbok grocery_inventory for å lagre informasjon:

    • "Milk": (113, "Dairy")
    • "Eggs": (116, "Dairy")
    • "Bread": (117, "Bakery")
    • "Apples": (141, "Produce")
  • Hent detaljene til varen "Bread" fra ordboken og lagre dem i variabelen bread_details.

  • Legg til en ny vare, "Cookies", med produkt-ID 143 og kategori "Bakery".

  • Fjern varen "Eggs" fra ordboken.

Krav til utskrift

  • Skriv ut detaljene til "Bread": Details of Bread: <$bread_details>.
  • Etter å ha lagt til "Cookies", skriv ut det oppdaterte varelageret: Inventory after adding Cookies: <$grocery_inventory>.
  • Etter å ha fjernet "Eggs", skriv ut det oppdaterte varelageret: Inventory after removing Eggs: <$grocery_inventory>.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 7

Spør AI

expand
ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

book
Ordbøker og Ordbokmetoder

Ordbøker er kanskje den mest allsidige datastrukturen i Python. De lagrer data som nøkkel-verdi-par og er essensielle i situasjoner hvor data må hentes raskt, og endringer skjer ofte.

I vårt dagligvarescenario kan ordbøker effektivt håndtere leverandørinformasjon, slik at hver leverandør kan nås via navn eller ID uten å måtte søke gjennom en liste.

Se hvordan Alex demonstrerer bruk av ordbøker for vår dagligvarebutikk:

Opprettelse

Ordbøker opprettes ved å omslutte komma-separerte nøkkel-verdi-par med krøllparenteser {}.

python

Rekkefølge

Ordbøker bevarer rekkefølgen elementene legges inn i, men det er viktig å merke seg at operasjoner vanligvis utføres basert på nøkkel og ikke posisjon.

Mutabilitet (Endringsmulighet)

Ordbøker er mutable, slik at du kan legge til, oppdatere eller fjerne nøkkel-verdi-par etter at ordboken er opprettet;

Merk

Selv om ordbøker tillater flere verdier, må hver nøkkel være unik i en ordbok. Dersom en nøkkel gjentas ved tildeling, vil den siste verdien overskrive den forrige, slik at hver nøkkel kun har én tilhørende verdi.

Eksempler

La oss se på et enkelt oppslagsverk (dictionary). I stedet for å bruke indeksnumre, får du tilgang til elementene i oppslagsverket via nøklene deres, som i dette tilfellet er navnene på dagligvarene.

1234567891011
# Dictionary creation groceryItems = { "Milk": 3.49, "Eggs": 2.99, "Bread": 1.99, "Apples": 0.99 } # Extracting dictionary elements by their keys print("Price of Milk:", groceryItems["Milk"]) print("Price of Bread:", groceryItems["Bread"])
copy

Oppslagsverk (dictionaries) i Python er fleksible når det gjelder hvilke datatyper de kan lagre.

Den eneste begrensningen er at nøkler må være av en uforanderlig (immutable) type (for eksempel strings, numbers eller tuples som kun inneholder uforanderlige elementer). Dette sikrer at nøkkelen forblir uendret.

På den andre siden kan verdier i oppslagsverket være av hvilken som helst type og kan inkludere foranderlige (mutable) typer, som lister eller andre oppslagsverk.

For eksempel:

123456789
# A dictionary with various types of keys and values store_info = { "Store Name": "Grocery Galore", # String key and string value 42: "Inventory Count", # Integer key and string value ("Bread", "Milk"): [2.99, 1.59] # Tuple key and list value (prices of bread and milk) } # Extracting dictionary element (list) by its key (tuple) print("Data under key ('Bread', 'Milk'):", store_info[("Bread", "Milk")])
copy

Ordbokmetoder

Ordbøker tilbyr en rekke operasjoner og metoder som muliggjør effektiv håndtering av data. Her er noen av de mest brukte metodene:

  • get(): henter verdien for en spesifisert nøkkel, og hvis nøkkelen ikke finnes, returneres None. Dette er forskjellig fra å bruke klammeparenteser (f.eks. grocery_items["Milk"]), som vil gi en feil hvis nøkkelen ikke eksisterer;

  • update(): oppdaterer ordboken med elementer fra en annen ordbok eller en itererbar med nøkkel-verdi-par, og overskriver eksisterende nøkler;

  • pop(): fjerner en spesifisert nøkkel og returnerer tilhørende verdi.

Merk

I Python er None en spesiell verdi som betyr "ingenting" eller "ingen verdi", og brukes ofte når du vil vise at noe er tomt eller ikke har et resultat.

Eksempel på bruk

Tenk deg at du må oppdatere ordboken for et varelager i dagligvarebutikken din. Slik kan du gjøre det ved hjelp av ordbokmetoder:

12345678910111213141516171819202122
# Dictionary for a grocery store inventory inventory = { "Apples": 30, "Oranges": 18, "Bananas": 45 } # Get the count of Oranges print("Count of Oranges:", inventory.get("Oranges")) # Update inventory by adding a new item inventory.update({"Mangoes": 20}) print("Updated Inventory:", inventory) # You can also add a new item to the end of the dictionary like this inventory["Pineapples"] = 15 print("Updated Inventory:", inventory) # Remove Bananas from the inventory removed_item = inventory.pop("Bananas") print("Removed Item:", removed_item) print("Current Inventory:", inventory)
copy
Oppgave

Swipe to start coding

Administrer varelageret til en dagligvarebutikk ved å bruke et ordbok-objekt, der hver vare er et nøkkel-verdi-par med varens navn og detaljer (produkt-ID og kategori).

  • Definer en ordbok grocery_inventory for å lagre informasjon:

    • "Milk": (113, "Dairy")
    • "Eggs": (116, "Dairy")
    • "Bread": (117, "Bakery")
    • "Apples": (141, "Produce")
  • Hent detaljene til varen "Bread" fra ordboken og lagre dem i variabelen bread_details.

  • Legg til en ny vare, "Cookies", med produkt-ID 143 og kategori "Bakery".

  • Fjern varen "Eggs" fra ordboken.

Krav til utskrift

  • Skriv ut detaljene til "Bread": Details of Bread: <$bread_details>.
  • Etter å ha lagt til "Cookies", skriv ut det oppdaterte varelageret: Inventory after adding Cookies: <$grocery_inventory>.
  • Etter å ha fjernet "Eggs", skriv ut det oppdaterte varelageret: Inventory after removing Eggs: <$grocery_inventory>.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 7
Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Vi beklager at noe gikk galt. Hva skjedde?
some-alt