single
Sanakirjat ja Sanakirjamenetelmät
Pyyhkäise näyttääksesi valikon
Sanakirjat ovat kenties monipuolisin Pythonin tietorakenne. Ne tallentavat tietoa avain-arvo-pareina ja ovat olennaisia tilanteissa, joissa tietoa täytyy hakea nopeasti ja muutoksia tehdään usein.
Ruokakauppaskenaariossamme sanakirjat voisivat tehokkaasti hallita toimittajatietoja, jolloin jokaiseen toimittajaan pääsee käsiksi nimen tai tunnisteen perusteella ilman, että täytyy etsiä listasta.
Katso, kuinka Alex havainnollistaa sanakirjojen käyttöä ruokakaupassamme:
Luominen
Sanakirjat luodaan sulkemalla pilkulla erotetut avain-arvo-parit aaltosulkeisiin {}.
# Syntax
dictionary = { <key> : <value>, <key> : <value>, <key> : <value> }
# Example
inventory = { "Apples": 30, "Oranges": 18 }
Järjestys
Sanakirjat säilyttävät alkioiden lisäysjärjestyksen, mutta on tärkeää huomata, että toiminnot tehdään yleensä avainten perusteella, ei sijainnin.
Muokattavuus (muutettavuus)
Sanakirjat ovat muokattavia, joten voit lisätä, päivittää tai poistaa avain-arvo-pareja sanakirjan luomisen jälkeen.
Huom
Vaikka sanakirjoissa voi olla useita arvoja, jokaisen avaimen täytyy olla yksilöllinen sanakirjassa. Jos avain toistetaan määrittelyssä, viimeisin arvo korvaa aiemman, jolloin kullakin avaimella on vain yksi vastaava arvo.
Esimerkit
Tarkastellaan yksinkertaista sanakirjaa. Indeksinumeroiden sijaan sanakirjan alkioihin päästään käsiksi avainten avulla, jotka tässä tapauksessa ovat ruokatarvikkeiden nimet.
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"])
Pythonin sanakirjat ovat joustavia tallennettavien tietotyyppien suhteen.
Ainoa rajoitus on, että avainten tulee olla muuttumattomia (immutable) tyyppejä (kuten strings, numbers tai tuples, jotka sisältävät vain muuttumattomia alkioita). Tämä varmistaa, että avain pysyy muuttumattomana.
Sen sijaan sanakirjan arvot voivat olla mitä tahansa tyyppiä ja voivat sisältää myös muuttuvia (mutable) tyyppejä, kuten listoja tai muita sanakirjoja.
Esimerkiksi:
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")])
Sanakirjan metodit
Sanakirjat tarjoavat joukon toimintoja ja metodeja, jotka mahdollistavat tehokkaan tietojen käsittelyn. Tässä joitakin yleisimmin käytettyjä metodeja:
get(): hakee arvon annetulle avaimelle, ja jos avainta ei löydy, palauttaaNone. Tämä eroaa hakasulkujen käytöstä (esim.grocery_items["Milk"]), joka aiheuttaa virheen, jos avainta ei ole;update(): päivittää sanakirjan toisesta sanakirjasta tai avain-arvoparien iteroitavasta, ylikirjoittaen olemassa olevat avaimet;pop(): poistaa annetun avaimen ja palauttaa siihen liittyvän arvon.
Huom
Pythonissa
Noneon erityisarvo, joka tarkoittaa "ei mitään" tai "ei arvoa", ja sitä käytetään usein osoittamaan, että jokin on tyhjä tai tulosta ei ole.
Esimerkkisovellus
Kuvittele, että sinun täytyy päivittää sanakirja, joka sisältää ruokakauppasi varaston. Näin voit tehdä sen sanakirjan metodeilla:
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)
Pyyhkäise aloittaaksesi koodauksen
Hallitse ruokakaupan varastoa sanakirjan avulla, jossa jokainen tuote on avain-arvo -pari sisältäen tuotteen nimen ja tiedot (tuotetunnus ja kategoria).
-
Määrittele sanakirja
grocery_inventorytietojen tallentamiseen:- "Milk": (113, "Dairy")
- "Eggs": (116, "Dairy")
- "Bread": (117, "Bakery")
- "Apples": (141, "Produce")
-
Hae tuotteen
"Bread"tiedot sanakirjasta ja tallenna ne muuttujaanbread_details. -
Lisää uusi tuote,
"Cookies", tuotetunnuksella143ja kategoriassa"Bakery". -
Poista tuote
"Eggs"sanakirjasta.
Tulostusvaatimukset
- Tulosta
"Bread"tiedot:Details of Bread: <$bread_details>. - Kun olet lisännyt
"Cookies", tulosta päivitetty varasto:Inventory after adding Cookies: <$grocery_inventory>. - Kun olet poistanut
"Eggs", tulosta päivitetty varasto:Inventory after removing Eggs: <$grocery_inventory>.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme