Opi Python-sanakirjan tietorakenne - osa 3


Tässä Python-tietorakenne-sarjan osassa 3 keskustellaan, mikä on sanakirja, miten se eroaa muista python-tietorakenteista, kuinka luoda, poistaa sanakirjaobjekteja ja sanakirjaobjektien menetelmiä.

  • Sanakirja on sisäänrakennettu "Python-tietorakenne", joka on kokoelma "Avain: Arvo" -pareja.
  • Sanakirja luodaan käyttämällä kiharaisia aaltosulkeita, joissa avain ja arvo erotetaan puolipisteellä {Key: Value}.
  • Samankaltaisesti kuin luettelo, sanakirjaobjektit ovat muutettavissa olevia tietotyyppejä, joten objekteja voidaan muokata sanakirjan luomisen jälkeen.
  • Sanakirjan toteutusrakenne pythonissa tunnetaan yleisemmin nimellä "Assosiatiivinen taulukko".
  • Luettelossa tai sarjoissa voimme käyttää kohteita viittaamalla niiden hakemistopaikkoihin, koska luettelon sisällä olevat kohteet on järjestetty (eli tallennettu niiden luomassa järjestyksessä). Sanakirjaobjektit voivat olla missä tahansa järjestyksessä, koska kohteisiin pääsee käyttämällä siihen liittyvää "avainta".
  • Sanakirjoista on erittäin hyötyä, kun meidän on tallennettava objektit ja viitattava niihin nimellä.
  • Sanakirja "avain" -objektin on oltava ainutlaatuinen ja muuttumaton tyyppi.
  • Sanakirja "Key" -objekti voi olla joko merkkijono, kokonaisluku, kelluva arvo.
  • Sanakirjan "arvot" voi olla mitä tahansa tietotyyppiä.

Rakenna sanakirjaobjekti

Sanakirjaobjekti voidaan luoda käyttämällä kiharaisia aaltosulkeita, joissa puolipiste erottava avain ja arvopari “{Key: value}” tai “dict()” -rakentajamenetelmä.

Osoitukseksi aion luoda sanakirjan, joka tallentaa tiedot jalkapallojoukkueesta ja heidän pelaamisesta XI, jossa asema avainasemassa ja pelaajien nimet arvoina.

Voit rakentaa sanakirjaobjektin konstruktorimenetelmällä dict().

Käytä sanakirjaobjektia

Sanakirjakohtiin pääsee hakemistojen sijasta "avain" -viitteillä. Indeksointia on mahdollista käyttää, jos sanakirjan sisällä on jokin sekvenssitietotyyppi (merkkijono, luettelo, joukko jne.)

Kohteet ovat käytettävissä käyttämällä dic_object [“avain”].

"KeyError" nousee, jos yrität käyttää sanakirjakohteita indeksoimalla tai jos yrität käyttää "avainta", joka ei ole osa sanakirjaa.

Muokkaa ja poista sanakirjaobjekti

Voit muokata olemassa olevaa kohdetta tai lisätä uuden kohteen viittaamalla suoraan sen avaimeen Dictionary_object [“avain”] = arvo. Tämä päivittää arvon, jos avainta on käytettävissä, muuten lisää uusi kohde sanakirjaan.

Voit poistaa tietyn arvon sen avaimen perusteella tai poistaa avaimen tai poistaa sanakirjaobjektin nimiavaruudesta käyttämällä sisäänrakennettua "del" -avainsanaa.

Voit etsiä käytettävissä olevia menetelmiä ja määritteitä sanakirjaobjektille sisäänrakennetulla “dir()” -toiminnolla.

clear() - Tämä menetelmä poistaa kaikki kohteet sanakirjaobjektista. Tämä menetelmä ei sisällä argumentteja.

Kopioi() - Se palauttaa matalan kopion sanakirjaobjektista. Copy() -menetelmä ei ota parametreja argumentiksi.

Avaimet() - Tämä menetelmä palauttaa näkymäobjektin avaimille, jotka ovat käytettävissä sanakirjassa sanakirjan avainobjektina. Tämä menetelmä ei sisällä argumentteja.

Arvot() - Tämä menetelmä palauttaa näkymäobjektin sanakirjaobjektin arvoille. Tämä menetelmä ei vaadi argumentteja.

Kohteet() - Tämä menetelmä palauttaa kaksinkertaisen (avain, arvo) parin sanakirjaobjektista.

Setdefault() - Tämä menetelmä etsii tiettyä avainta sanakirjasta. Jos avainta ei löydy sanakirjasta, se lisätään sanakirjaan.
Se vie 2 argumenttia dic.setdefault (avain, [, oletusarvo]).

Oletusarvo on Ei mitään, jos arvoa ei ole määritetty.

get() - Tämä menetelmä palauttaa määritetyn avaimen arvon, jos avain on käytettävissä sanakirjassa.

Syntax dict.get(key[, value]) 

Tämä menetelmä vaatii 2 argumenttia. Ensimmäinen on syöteargumentti, joka etsii annettua avainta sanakirjasta ja palauttaa avaimen arvon. Toinen argumentti palauttaa arvon, jos avainta ei löydy. Palautuksen oletusarvoksi asetetaan ”Ei mitään”.

Päivitä() - Päivitysmenetelmä lisää kohteita sanakirjaan, jos avain ei ole sanakirjassa. Jos avain löytyy, avain päivitetään uudella arvolla. Päivitysmenetelmä hyväksyy joko toisen k: v-parin sanakirjaobjektin tai k: v-parin iteroitavan objektin kuten joukko.

Sanakirjaobjektin poistaminen/poistaminen

Pop() - Tämä menetelmä poistaa arvon näppäimen perusteella syötteenä ja palauttaa poistetun arvon.

Tämä menetelmä hyväksyy kaksi parametria.

  1. Avain - avain, jota haetaan sanakirjaobjektista.
  2. Oletusarvo - Palautusarvo määritetään, jos avainta ei löydy sanakirjasta.

HUOMAUTUS Jos avainta ei löydy sanakirjasta ja jos et määritä oletusarvoa, ”KeyError” nousee.

Popitem() - poistaa mielivaltaiset elementit sanakirjaobjektista. Mitään argumenttia ei hyväksytä ja se palauttaa "KeyError", jos sanakirjan sanotaan olevan tyhjä.

Kuten luettelo ja joukot, voimme käyttää del-avainsanaa poistaa sanakirjaobjektin kohteet tai poistaa sanakirjaobjektin nimiavaruudesta.

Tässä artikkelissa olet nähnyt, mikä on sanakirja ja miten se eroaa muista pythonin tietorakenteista. Olet myös nähnyt kuinka luoda, käyttää, muokata ja poistaa sanakirjaobjekteja.

Sanakirjan optimaalinen käyttötapaus on, kun meidän on tallennettava tiedot nimen perusteella ja viitattava niihin sen nimen perusteella. Seuraavassa artikkelissa näemme toisen tyyppisen pythonin sisäänrakennetun tietorakenteen "set/Frozenset". Siihen asti voit lukea lisää sanakirjoista täältä.