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 for situasjoner der data må hentes raskt, og endringer er hyppige.
I vårt dagligvarescenario kan ordbøker effektivt håndtere leverandørinformasjon, slik at hver leverandør kan nås ved navn eller ID uten behov for å søke gjennom en liste.
Se på mens Alex demonstrerer hvordan man bruker ordbøker for vår dagligvarebutikk:
Opprettelse
Ordbøker opprettes ved å omslutte kommaseparerte nøkkel-verdi-par i krøllparenteser {}
.
python
Rekkefølge
Ordbøker bevarer innsettingsrekkefølgen av elementene sine, men det er viktig å merke seg at operasjoner vanligvis utføres basert på nøkler snarere enn posisjon.
Mutabilitet (Endringsmulighet)
Ordbøker er mutable, noe som lar deg 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 innenfor en ordbok. Hvis en nøkkel gjentas under tildelingen, vil den siste verdien overskrive den forrige, og sikre at hver nøkkel kun har én tilsvarende verdi.
Eksempler
La oss se på en enkel ordbok. I stedet for å bruke indeksnumre, får du tilgang til ordbokelementer gjennom nøklene deres, som i dette tilfellet er navnene på dagligvarene.
# 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"])
Ordbøker i Python er fleksible når det gjelder hvilke typer data de kan lagre.
Den eneste begrensningen er at nøkler må være av en uforanderlig (ikke-endringsbar) type (slik som strings
, numbers
eller tuples
som kun inneholder uforanderlige elementer). Dette sikrer at nøkkelen forblir uendret.
På den annen side kan ordbokverdier være av hvilken som helst type og kan inkludere foranderlige (endringsbare) typer, som lister eller andre ordbøker.
For eksempel:
# 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")])
Ordbokmetoder
Ordbøker gir en rekke operasjoner og metoder som letter effektiv datahåndtering. Her er noen av de mest brukte metodene:
get()
: henter verdien for en spesifisert nøkkel, og hvis nøkkelen ikke finnes , returnerer denNone
. Dette er forskjellig fra å bruke firkantede parenteser (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 iterabel av nøkkel-verdi-par, og overskriver eksisterende nøkler;pop()
: fjerner en spesifisert nøkkel og returnerer den tilsvarende verdien.
Merk
I Python er
None
en spesiell verdi som betyr "ingenting" eller "ingen verdi", og den brukes ofte når du vil vise at noe er tomt eller ikke har et resultat.
Eksempelapplikasjon
Tenk deg at du trenger å oppdatere ordboken for et varelager i dagligvarebutikken din. Slik kan du gjøre det ved hjelp av ordbokmetoder:
# 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)
Swipe to start coding
Administrer en dagligvarebutikks inventar ved å bruke en ordbok, 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 for varen
"Bread"
fra ordboken og lagre dem i variabelenbread_details
. -
Legg til en ny vare,
"Cookies"
, med produkt-ID143
og kategori"Bakery"
. -
Fjern varen
"Eggs"
fra ordboken.
Outputkrav
- Skriv ut detaljene for
"Bread"
:Details of Bread: <$bread_details>
. - Etter å ha lagt til
"Cookies"
, skriv ut det oppdaterte inventaret:Inventory after adding Cookies: <$grocery_inventory>
. - Etter å ha fjernet
"Eggs"
, skriv ut det oppdaterte inventaret:Inventory after removing Eggs: <$grocery_inventory>
.
Løsning
Takk for tilbakemeldingene dine!