Python sanakirja

Sanakirja (Dictionary)

Sanakirja on epäjärjestetty, muuttuva ja indeksoitu joukko. Pythonissa sanakirjat kirjoitetaan vihreillä sulkeilla ja ne sisältävät avaimia ja arvoja.

Esimerkki

Luo ja tulosta sanakirja:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
print(thisdict)

Suorita esimerkki

Tarkastele kohtetta

Voit tarkastella sanakirjan kohteen viittaamalla siihen sisään sisennetyllä avaimenimellä:

Esimerkki

Hae "model"-avaimen arvo:

x = thisdict["model"]

Suorita esimerkki

On myös nimi get() menetelmä antaa sinulle saman tuloksen:

Esimerkki

Hae "model"-avaimen arvo:

x = thisdict.get("model")

Suorita esimerkki

Muuta arvoa

Voit muuttaa tietyn kohteen arvoa viittaamalla sen avaimenimeen:

Esimerkki

Muuta "year" arvoksi 2019:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict["year"] = 2019

Suorita esimerkki

Sanakirjan läpikäyntiä

Voit käyttää for Kun käydään läpi sanakirjaa silmukassa.

Kun käydään läpi sanakirjaa silmukassa, palautusarvo on sanakirjan avain, mutta on myös tapoja palauttaa arvo:

Esimerkki

Tulosta yksitellen sanakirjan kaikki avaimet:

for x in thisdict:
  print(x)

Suorita esimerkki

Esimerkki

Tulosta yksitellen sanakirjan kaikki arvot:

for x in thisdict:
  print(thisdict[x])

Suorita esimerkki

Esimerkki

Voit myös käyttää values() Funktio palauttaa sanakirjan arvot:

for x in thisdict.values():
  print(x)

Suorita esimerkki

Esimerkki

Lähde käyttämällä items() -funktiota käydäksesi läpi avaimia ja arvoja:

for x, y in thisdict.items():
  print(x, y)

Suorita esimerkki

Tarkista avaimen olemassaolo

Määrittääksesi, onko tietty avain sanakirjassa käytä: in Avainsana:

Esimerkki

Tarkista, onko "model"-avain sanakirjassa:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
if "model" in thisdict:
  print("Kyllä, 'model' on yksi tämän thisdict-sanakirjan avaimista")

Suorita esimerkki

Sanakirjan pituus

Määrittääksesi sanakirjan kohteiden (avain-arvoparit) määrän käytä: len() Menetelmä.

Esimerkki

Tulosta sanakirjan kohteiden lukumäärä:

print(len(thisdict))

Suorita esimerkki

Lisää kohteet

Voit lisätä kohteen sanakirjaan käyttämällä uutta indeksiavainta ja asettamalla sen arvon:

Esimerkki

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict["color"] = "red"
print(thisdict)

Suorita esimerkki

Poista kohteet

On useita tapoja poistaa kohteita sanakirjasta:

Esimerkki

pop() -menetelmä poistaa tietyn avaimen omaavan kohteen:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict.pop("model")
print(thisdict)

Suorita esimerkki

Esimerkki

popitem() Poista viimeksi lisätty projekti (versiosta 3.7 eteenpäin poista satunnainen projekti):

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict.popitem()
print(thisdict)

Suorita esimerkki

Esimerkki

del Avainsana poistaa tietyn avainnimen omaavan kohteen:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
del thisdict["model"]
print(thisdict)

Suorita esimerkki

Esimerkki

del Avainsana voi myös täysin poistaa sanakirjan:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
del thisdict
print(thisdict) #this aiheuttaa virheen, koska "thisdict" ei ole enää olemassa。

Suorita esimerkki

Esimerkki

clear() Avainsana tyhjentää sanakirjan:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict.clear()
print(thisdict)

Suorita esimerkki

sanakirjaa

Et voi kopioida sanakirjaa kirjoittamalla dict2 = dict1 kopioida sanakirjaa, koska:dict2 on vain dict1 viittauksessa, kun taas dict1 tehtävän muutokset tehdään automaattisesti dict2 tehtävässä.

On olemassa joitakin tapoja tehdä kopiointi, yksi tapa on käyttää sisäänrakennettua sanakirjametodia copy()

Esimerkki

Käytä copy() metodin avulla kopioidaksesi sanakirjan:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
mydict = thisdict.copy()
print(mydict)

Suorita esimerkki

Toinen tapa tehdä kopiointi on käyttää sisäänrakennettua metodia dict()

Esimerkki

Käytä dict() Metodi luo sanakirjan kopioida:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
mydict = dict(thisdict)
print(mydict)

Suorita esimerkki

Sisäkkäiset sanakirjat

Sanakirja voi sisältää myös monia sanakirjoja, mikä kutsutaan sisäkkäisiksi sanakirjoiksi.

Esimerkki

Luo sanakirja, joka sisältää kolme sanakirjaa:

myfamily = {
  "child1" : {
    "name" : "Phoebe Adele",
    "year" : 2002
  },
  "child2" : {
    "name" : "Jennifer Katharine",
    "year" : 1996
  },
  "child3" : {
    "name" : "Rory John",
    "year" : 1999
  }
}

Suorita esimerkki

Tai, jos haluat sisällyttää kolme jo olemassa olevaa sanakirjaa:

Esimerkki

Luo kolme sanakirjaa ja sitten luo sanakirja, joka sisältää nämä kolme sanakirjaa:

child1 = {
  "name" : "Phoebe Adele",
  "year" : 2002
}
child2 = {
  "name" : "Jennifer Katharine",
  "year" : 1996
}
child3 = {
  "name" : "Rory John",
  "year" : 1999
}
myfamily = {
  "child1" : child1,
  "child2" : child2,
  "child3" : child3
}

Suorita esimerkki

dict() rakennusfunktio

Voit myös käyttää dict() Rakennusfunktio luo uuden sanakirjan:

Esimerkki

thisdict = dict(brand="Porsche", model="911", year=1963)
# Huomaa, avainsana ei ole merkkijonon muotoa
# Huomaa, käytetään yhtä merkkijonoa kuin kolonointia arvon asettamiseen
print(thisdict)

Suorita esimerkki

Sanakirjamenetelmät

Python tarjoaa joukon sisäänrakennettuja menetelmiä, joita voidaan käyttää sanakirjassa.

Metodi Kuvaus
clear() Poista sanakirjasta kaikki elementit
copy() Palauta sanakirjan kopio
fromkeys() Palauta sanakirja annetulla avaimella ja arvolla
get() Palauta annetun avaimen arvo
items() Palauta luettelo jokaisesta avain-arvoparista
keys() Palauta luettelo sanakirjan avaimista
pop() Poista annetulla avaimella varustettu elementti
popitem() Poista viimeksi lisätty avain-arvopari
setdefault() Palauta annetun avaimen arvo. Jos avainta ei ole, lisää avain arvolla
update() Päivitä sanakirja annetulla avain-arvoparilla
values() Palauta luettelo kaikista arvoista sanakirjasta