Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Ordbøger og Ordbogsmetoder | Andre Datatyper
Introduktion til Python
Sektion 4. Kapitel 7
single

single

bookOrdbøger og Ordbogsmetoder

Stryg for at vise menuen

Ordbøger er måske den mest alsidige datastruktur i Python. De gemmer data som nøgle-værdi-par og er essentielle i situationer, hvor data skal hentes hurtigt, og ændringer er hyppige.

I vores supermarkedsscenarie kan ordbøger effektivt håndtere leverandøroplysninger, så hver leverandør kan tilgås via navn eller ID uden at skulle søge gennem en liste.

Se med, når Alex demonstrerer, hvordan ordbøger kan bruges i vores supermarked:

Oprettelse

Ordbøger oprettes ved at omslutte kommaseparerede nøgle-værdi-par med krøllede parenteser {}.

# Syntax
dictionary = { <key> : <value>, <key> : <value>, <key> : <value> }

# Example
inventory = { "Apples": 30, "Oranges": 18 }

Rækkefølge

Ordbøger bevarer indsættelsesrækkefølgen af deres elementer, men det er vigtigt at bemærke, at operationer typisk udføres baseret på nøgler frem for position.

Mutabilitet (ændringsmulighed)

Ordbøger er mutable (ændringsbare), hvilket betyder, at du kan tilføje, opdatere eller fjerne nøgle-værdi-par efter ordbogen er oprettet.

Bemærk

Selvom ordbøger tillader flere værdier, skal hver nøgle være unik i en ordbog. Hvis en nøgle gentages under tildeling, vil den seneste værdi overskrive den forrige, så hver nøgle kun har én tilknyttet værdi.

Eksempler

Lad os se på et simpelt dictionary. I stedet for at bruge indeksnumre, tilgår du dictionary-elementer via deres nøgler, som i dette tilfælde er navnene på dagligvarerne.

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

Dictionaries i Python er fleksible med hensyn til de datatyper, de kan gemme.

Den eneste begrænsning er, at nøgler skal være af en uforanderlig (immutable) type (såsom strings, numbers eller tuples, der kun indeholder uforanderlige elementer). Dette sikrer, at nøglen forbliver uændret.

Omvendt kan dictionary-værdier være af enhver type og kan inkludere foranderlige (mutable) typer, såsom lister eller andre dictionaries.

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

Dictionary-metoder

Dictionaries tilbyder en række operationer og metoder, der muliggør effektiv databehandling. Her er nogle af de mest anvendte metoder:

  • get(): henter værdien for en angivet nøgle, og hvis nøglen ikke findes, returnerer den None. Dette adskiller sig fra brugen af firkantede parenteser (f.eks. grocery_items["Milk"]), som vil give en fejl, hvis nøglen ikke eksisterer;
  • update(): opdaterer dictionaryen med elementer fra en anden dictionary eller et itererbart objekt af nøgle-værdi-par, hvor eksisterende nøgler overskrives;
  • pop(): fjerner en angivet nøgle og returnerer den tilsvarende værdi.

Bemærk

I Python er None en særlig værdi, der betyder "intet" eller "ingen værdi", og den bruges ofte, når man vil vise, at noget er tomt eller ikke har et resultat.

Eksempel på anvendelse

Forestil dig, at du skal opdatere dictionaryen for et lager i din dagligvarebutik. Her kan du se, hvordan det gøres ved hjælp af dictionary-metoder:

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
Opgave

Swipe to start coding

Administrer en dagligvarebutiks lager ved hjælp af et dictionary, hvor hver vare er et nøgle-værdi-par med varens navn og detaljer (produkt-ID og kategori).

  • Definér et dictionary grocery_inventory til at gemme information:

    • "Milk": (113, "Dairy")
    • "Eggs": (116, "Dairy")
    • "Bread": (117, "Bakery")
    • "Apples": (141, "Produce")
  • Hent detaljerne for varen "Bread" fra dictionary og gem dem i variablen bread_details.

  • Tilføj en ny vare, "Cookies", med produkt-ID 143 og kategori "Bakery".

  • Fjern varen "Eggs" fra dictionary.

Outputkrav

  • Udskriv detaljerne for "Bread": Details of Bread: <$bread_details>.
  • Efter tilføjelse af "Cookies", udskriv det opdaterede lager: Inventory after adding Cookies: <$grocery_inventory>.
  • Efter fjernelse af "Eggs", udskriv det opdaterede lager: Inventory after removing Eggs: <$grocery_inventory>.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 7
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

some-alt