Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Ordböcker och Ordboksmetoder | Andra Datatyper
Introduktion till Python

Svep för att visa menyn

book
Ordböcker och Ordboksmetoder

Ordböcker är kanske de mest mångsidiga datastrukturerna i Python. De lagrar data som nyckel-värde-par och är oumbärliga i situationer där data behöver hämtas snabbt och ändringar sker ofta.

I vårt scenario med livsmedelsbutiken kan ordböcker effektivt hantera leverantörsinformation, vilket gör det möjligt att komma åt varje leverantör via dess namn eller ID utan att behöva söka igenom en lista.

Se när Alex demonstrerar hur ordböcker kan användas i vår livsmedelsbutik:

Skapande

Ordböcker skapas genom att omsluta kommaseparerade nyckel-värde-par med klamrar {}.

python

Ordning

Ordböcker bevarar insättningsordningen för sina element, men det är viktigt att notera att operationer vanligtvis utförs baserat på nycklar snarare än position.

Mutabilitet (Föränderlighet)

Ordböcker är föränderliga, vilket innebär att du kan lägga till, uppdatera eller ta bort nyckel-värde-par efter att ordboken har skapats.

Observera

Även om ordböcker tillåter flera värden, måste varje nyckel vara unik inom en ordbok. Om en nyckel upprepas vid tilldelning kommer det senaste värdet att skriva över det föregående, vilket säkerställer att varje nyckel endast har ett motsvarande värde.

Exempel

Låt oss titta på ett enkelt dictionary. Istället för att använda indexnummer, får du åtkomst till dictionary-element via deras nycklar, som i detta fall är namnen på matvarorna.

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 är flexibla när det gäller vilka datatyper de kan lagra.

Den enda begränsningen är att nycklar måste vara av en oföränderlig (immutable) typ (såsom strings, numbers eller tuples som endast innehåller oföränderliga element). Detta säkerställer att nyckeln förblir oförändrad.

Å andra sidan kan dictionary-värden vara av vilken typ som helst och kan inkludera föränderliga (mutable) typer, såsom listor eller andra dictionaries.

Till exempel:

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

Ordboksmetoder

Ordböcker tillhandahåller en rad operationer och metoder som möjliggör effektiv datahantering. Här är några av de mest använda metoderna:

  • get(): hämtar värdet för en angiven nyckel, och om nyckeln inte hittas returneras None. Detta skiljer sig från att använda hakparenteser (t.ex. grocery_items["Milk"]), vilket skulle ge ett fel om nyckeln inte finns;

  • update(): uppdaterar ordboken med element från en annan ordbok eller en itererbar med nyckel-värde-par, och skriver över befintliga nycklar;

  • pop(): tar bort en angiven nyckel och returnerar motsvarande värde.

Observera

I Python är None ett speciellt värde som betyder "ingenting" eller "inget värde", och används ofta för att visa att något är tomt eller saknar resultat.

Exempelapplikation

Föreställ dig att du behöver uppdatera ordboken för ett lager i din livsmedelsbutik. Så här kan du göra det med hjälp av ordboksmetoder:

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
Uppgift

Swipe to start coding

Hantera ett livsmedelsbutiks lager med hjälp av en ordbok, där varje vara är ett nyckel-värde-par med varans namn och detaljer (produkt-ID och kategori).

  • Definiera en ordbok grocery_inventory för att lagra information:

    • "Milk": (113, "Dairy")
    • "Eggs": (116, "Dairy")
    • "Bread": (117, "Bakery")
    • "Apples": (141, "Produce")
  • Hämta detaljerna för varan "Bread" från ordboken och lagra dem i variabeln bread_details.

  • Lägg till en ny vara, "Cookies", med produkt-ID 143 och kategori "Bakery".

  • Ta bort varan "Eggs" från ordboken.

Utdatakrav

  • Skriv ut detaljerna för "Bread": Details of Bread: <$bread_details>.
  • Efter att ha lagt till "Cookies", skriv ut det uppdaterade lagret: Inventory after adding Cookies: <$grocery_inventory>.
  • Efter att ha tagit bort "Eggs", skriv ut det uppdaterade lagret: Inventory after removing Eggs: <$grocery_inventory>.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 7

Fråga AI

expand
ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

book
Ordböcker och Ordboksmetoder

Ordböcker är kanske de mest mångsidiga datastrukturerna i Python. De lagrar data som nyckel-värde-par och är oumbärliga i situationer där data behöver hämtas snabbt och ändringar sker ofta.

I vårt scenario med livsmedelsbutiken kan ordböcker effektivt hantera leverantörsinformation, vilket gör det möjligt att komma åt varje leverantör via dess namn eller ID utan att behöva söka igenom en lista.

Se när Alex demonstrerar hur ordböcker kan användas i vår livsmedelsbutik:

Skapande

Ordböcker skapas genom att omsluta kommaseparerade nyckel-värde-par med klamrar {}.

python

Ordning

Ordböcker bevarar insättningsordningen för sina element, men det är viktigt att notera att operationer vanligtvis utförs baserat på nycklar snarare än position.

Mutabilitet (Föränderlighet)

Ordböcker är föränderliga, vilket innebär att du kan lägga till, uppdatera eller ta bort nyckel-värde-par efter att ordboken har skapats.

Observera

Även om ordböcker tillåter flera värden, måste varje nyckel vara unik inom en ordbok. Om en nyckel upprepas vid tilldelning kommer det senaste värdet att skriva över det föregående, vilket säkerställer att varje nyckel endast har ett motsvarande värde.

Exempel

Låt oss titta på ett enkelt dictionary. Istället för att använda indexnummer, får du åtkomst till dictionary-element via deras nycklar, som i detta fall är namnen på matvarorna.

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 är flexibla när det gäller vilka datatyper de kan lagra.

Den enda begränsningen är att nycklar måste vara av en oföränderlig (immutable) typ (såsom strings, numbers eller tuples som endast innehåller oföränderliga element). Detta säkerställer att nyckeln förblir oförändrad.

Å andra sidan kan dictionary-värden vara av vilken typ som helst och kan inkludera föränderliga (mutable) typer, såsom listor eller andra dictionaries.

Till exempel:

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

Ordboksmetoder

Ordböcker tillhandahåller en rad operationer och metoder som möjliggör effektiv datahantering. Här är några av de mest använda metoderna:

  • get(): hämtar värdet för en angiven nyckel, och om nyckeln inte hittas returneras None. Detta skiljer sig från att använda hakparenteser (t.ex. grocery_items["Milk"]), vilket skulle ge ett fel om nyckeln inte finns;

  • update(): uppdaterar ordboken med element från en annan ordbok eller en itererbar med nyckel-värde-par, och skriver över befintliga nycklar;

  • pop(): tar bort en angiven nyckel och returnerar motsvarande värde.

Observera

I Python är None ett speciellt värde som betyder "ingenting" eller "inget värde", och används ofta för att visa att något är tomt eller saknar resultat.

Exempelapplikation

Föreställ dig att du behöver uppdatera ordboken för ett lager i din livsmedelsbutik. Så här kan du göra det med hjälp av ordboksmetoder:

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
Uppgift

Swipe to start coding

Hantera ett livsmedelsbutiks lager med hjälp av en ordbok, där varje vara är ett nyckel-värde-par med varans namn och detaljer (produkt-ID och kategori).

  • Definiera en ordbok grocery_inventory för att lagra information:

    • "Milk": (113, "Dairy")
    • "Eggs": (116, "Dairy")
    • "Bread": (117, "Bakery")
    • "Apples": (141, "Produce")
  • Hämta detaljerna för varan "Bread" från ordboken och lagra dem i variabeln bread_details.

  • Lägg till en ny vara, "Cookies", med produkt-ID 143 och kategori "Bakery".

  • Ta bort varan "Eggs" från ordboken.

Utdatakrav

  • Skriv ut detaljerna för "Bread": Details of Bread: <$bread_details>.
  • Efter att ha lagt till "Cookies", skriv ut det uppdaterade lagret: Inventory after adding Cookies: <$grocery_inventory>.
  • Efter att ha tagit bort "Eggs", skriv ut det uppdaterade lagret: Inventory after removing Eggs: <$grocery_inventory>.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 7
Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Vi beklagar att något gick fel. Vad hände?
some-alt