Sanakirja sisään Python syntaksin ja esimerkin kanssa

Missä sanakirja on Python?

A Sanakirja sisään Python on järjestämätön ja muuttuva tietoarvojen kokoelma, joka sisältää avain-arvo-pareja. Jokainen sanakirjan avain-arvo-pari kartoittaa avaimen siihen liittyvään arvoon, mikä tekee siitä optimoidun. Pythonin sanakirja ilmoitetaan liittämällä pilkuilla eroteltu luettelo avainarvopareista käyttämällä aaltosulkuja ({}). Python Sanakirja on luokiteltu kahteen osaan: avaimet ja arvot.

  • Avaimet ovat yksi elementti
  • Arvot voivat olla luetteloa tai luetteloa luettelossa, numeroita jne.

Syntaksi for Python Sanakirja

Dict = { ' Tim': 18,  xyz,.. }

Sanakirja on lueteltu kihareissa hakasulkeissa, näiden kiharoiden sisällä on ilmoitettu avaimet ja arvot. Jokainen avain erotetaan arvostaan ​​kaksoispisteellä (:), kun taas pilkut erottavat jokainen elementti.

Syntaksi for Python Sanakirja

Sanakirjaavainten ominaisuudet

Sanakirjan näppäinten käytössä on kaksi tärkeää asiaa

  • Useampi kuin yksi merkintä avainta kohden ei ole sallittu (kaksoiskappaletta ei sallita)
  • Sanakirjan arvot voivat olla mitä tahansa tyyppiä, kun taas avainten on oltava muuttumattomia, kuten numeroita, monikkoja
  • Sanakirjan näppäimet ovat isoja ja pieniä kirjaimia erottelevia – sama avaimen nimi, mutta eri kirjainkoottuna niitä käsitellään eri avaimina Python sanakirjoja.

Python 2-esimerkki

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}   
print (Dict['Tiffany'])

Python 3-esimerkki

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}   
print((Dict['Tiffany']))
  • Koodissa meillä on sanakirjan nimi "Dict"
  • Ilmoitimme henkilön nimen ja iän sanakirjaan, jossa nimi on "Keys" ja ikä on "arvo"
  • Suorita nyt koodi
  • Se hakee sanakirjasta Tiffanyn iän.

Python Sanakirjamenetelmät

Kopioi sanakirjaa

Voit myös kopioida koko sanakirjan uuteen sanakirjaan. Esimerkiksi täällä olemme kopioineet alkuperäisen sanakirjamme uudeksi sanakirjanimeksi "Pojat" ja "tytöt".

Python 2-esimerkki

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}	
studentX=Boys.copy()
studentY=Girls.copy()
print studentX
print studentY

Python 3-esimerkki

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}	
studentX=Boys.copy()
studentY=Girls.copy()
print(studentX)
print(studentY)
  • Meillä on alkuperäinen sanakirja (Dict), jossa on poikien ja tyttöjen nimet ja iät yhdessä
  • Mutta haluamme poikien luettelon erillään tyttöluettelosta, joten määritimme poikien ja tyttöjen elementin erillisessä sanakirjassa nimeltä "Pojat" ja "tytöt".
  • Nyt olemme taas luoneet uudet sanakirjanimet "opiskelija X" ja "opiskelija Y", joissa kaikki poikasanakirjan avaimet ja arvot kopioidaan opiskelija X:ään ja tytöt kopioidaan opiskelijaY:hen.
  • Joten nyt sinun ei tarvitse katsoa koko listaa pääsanakirjasta (Dict) tarkistaaksesi kuka on poika ja kuka tyttö, sinun tarvitsee vain tulostaa opiskelija X, jos haluat poikien luettelon ja StudentY, jos haluat tyttöluettelon.
  • Joten kun käytät opiskelijan X- ja studentY-sanakirjaa, se antaa kaikki sanakirjassa olevat elementit "poikien" ja "tyttöjen" erikseen.

Päivitetään sanakirjaa

Voit myös päivittää sanakirjan lisäämällä uuden merkinnän tai avain-arvo-parin olemassa olevaan merkintään tai poistamalla olemassa olevan merkinnän. Tässä esimerkissä lisäämme olemassa olevaan sanakirjaamme toisen nimen, "Sarah".

Python 2-esimerkki

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
Dict.update({"Sarah":9})
print Dict

Python 3-esimerkki

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
Dict.update({"Sarah":9})
print(Dict)
  • Nykyisessä sanakirjassamme "Dict" ei ole nimeä "Sarah".
  • Käytämme menetelmää Dict.update lisätäksemme Sarahin olemassa olevaan sanakirjaamme
  • Suorita nyt koodi, se lisää Sarahin olemassa olevaan sanakirjaamme

Poista avaimet sanakirjasta

Python sanakirja antaa sinulle vapauden poistaa minkä tahansa elementin sanakirjaluettelosta. Oletetaan, että et halua nimeä Charlie listaan, joten voit poistaa avainelementin seuraavalla koodilla.

Python 2-esimerkki

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
del Dict ['Charlie']
print Dict

Python 3-esimerkki

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
del Dict ['Charlie']
print(Dict)

Kun suoritat tämän koodin, sen pitäisi tulostaa sanakirjaluettelo ilman Charliea.

  • Käytimme koodia del Dict
  • Kun koodi suoritettiin, se on poistanut Charlien pääsanakirjasta

Sanakirjakohteet() Method

Metodi items() palauttaa luettelon monikkopareista (avaimet, arvo) sanakirjassa.

Python 2-esimerkki

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "Students Name: %s" % Dict.items()

Python 3-esimerkki

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("Students Name: %s" % list(Dict.items()))
  • Käytämme Code items() -menetelmää Dictillemme.
  • Kun koodi suoritettiin, se palauttaa luettelon kohteista (avaimet ja arvot) sanakirjasta

Tarkista, onko tietty avain jo olemassa sanakirjassa

Tietyn luettelon kohdalla voit myös tarkistaa, onko lapsisanakirjamme olemassa pääsanakirjassa vai ei. Täällä meillä on kaksi alasanakirjaa "Pojat" ja "tytöt", nyt haluamme tarkistaa, onko sanakirjamme Pojat olemassa pää "Dictissämme" vai ei. Tätä varten käytämme for loop -menetelmää else if -menetelmän kanssa.

Python 2-esimerkki

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
for key in Boys.keys():
    if key in Dict.keys():
        print True
    else:       
        print False


Python 3-esimerkki

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
for key in list(Boys.keys()):
    if key in list(Dict.keys()):
        print(True)
    else:       
        print(False)
  • - forloop koodissa tarkistaa jokaisen pääsanakirjan avaimen Boys-avainten varalta
  • Jos se on pääsanakirjassa, sen tulee tulostaa tosi tai muuten sen tulee tulostaa false
  • Kun suoritat koodin, se tulostaa "True" kolme kertaa, koska meillä on kolme elementtiä "Boys"-sanakirjassamme
  • Joten se osoittaa, että "Pojat" ovat olemassa pääsanakirjassamme (Dict)

Sanakirjan lajittelu

Sanakirjassa voit myös lajitella elementit. Jos esimerkiksi haluamme tulostaa sanakirjamme elementtien nimet aakkosjärjestyksessä, meidän on käytettävä for-silmukkaa. Se lajittelee sanakirjan jokaisen elementin vastaavasti.

Python 2-esimerkki

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
Students = Dict.keys()
Students.sort()
for S in Students:
      print":".join((S,str(Dict[S])))

Python 3-esimerkki

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
Students = list(Dict.keys())
Students.sort()
for S in Students:
      print(":".join((S,str(Dict[S]))))
  • Ilmoitimme sanakirjamme "Dict" muuttujat opiskelijat.
  • Sitten käytämme koodia Students.sort, joka lajittelee elementin sanakirjassamme
  • Mutta lajitellaksesi sanakirjan jokaisen elementin, suoritamme for-silmukan ilmoittamalla muuttujan S
  • Nyt kun suoritamme koodin, for-silmukka kutsuu jokaista sanakirjan elementtiä ja tulostaa merkkijonon ja arvon järjestyksessä

Python Sanakirjan sisäänrakennetut toiminnot

Sanakirja len() -menetelmä

Funktio len() ilmoittaa parien lukumäärän sanakirjassa.

Esimerkiksi

Python 2-esimerkki

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "Length : %d" % len (Dict)

Python 3-esimerkki

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("Length : %d" % len (Dict))

Kun len (Dict) -toiminto suoritetaan, se antaa tulokseksi "4", koska sanakirjassamme on neljä elementtiä

Muuttujatyypit

Python ei vaadi nimenomaisesti ilmoittamista varata muistitilaa; se tapahtuu automaattisesti. Muuttujan “=” yhtäläisyysmerkin arvoja käytetään. Muuttujan tyypin määrittävä koodi on ”%type (Dict).”

Python 2-esimerkki

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "variable Type: %s" %type (Dict)

Python 3-esimerkki

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("variable Type: %s" %type (Dict))
  • Käytä koodia %type tietääksesi muuttujan tyyppi
  • Kun koodi suoritettiin, se kertoo muuttujan tyypin olevan sanakirja

Python Listaa cmp() -menetelmä

Vertailumenetelmää cmp() käytetään Python vertailla kahden sanakirjan arvoja ja avaimia. Jos menetelmä palauttaa arvon 0, jos molemmat sanakirjat ovat yhtä suuret, 1, jos dic1 > dict2 ja -1, jos dict1 < dict2.

Python 2-esimerkki

Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}	
print cmp(Girls, Boys)

Python 3-esimerkki

cmp is not supported in Python 3
  • Meillä on kaksi sanakirjanimeä, "Pojat" ja "tytöt".
  • Se kumpi ilmoitat ensin koodissa "cmp(Girls, Boys)", sitä pidetään sanakirjana 1. Meidän tapauksessamme ilmoitimme ensin "tytöt", joten sitä pidetään sanakirjana 1 ja poikia sanakirjana 2.
  • Kun koodi suoritetaan, se tulostaa -1, Se osoittaa, että sanakirjamme 1 on pienempi kuin sanakirja 2.

Sanakirja Str(dict)

Str()-menetelmällä voit tehdä sanakirjan tulostettavaan merkkijonomuotoon.

Python 2-esimerkki

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "printable string:%s" % str (Dict)

Python 3-esimerkki

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("printable string:%s" % str (Dict))
  • Käytä koodia % str (Dict)
  • Se palauttaa sanakirjan elementit tulostettavaan merkkijonomuotoon

Tässä on luettelo kaikista sanakirjamenetelmistä

Menetelmä Tuotetiedot Syntaksi
kopio () Kopioi koko sanakirja uuteen sanakirjaan dict.copy()
päivittää() Päivitä sanakirja lisäämällä uusi merkintä tai avainarvopari olemassa olevaan merkintään tai poistamalla olemassa oleva merkintä. Dict.update([other])
tuotteet () Palauttaa luettelon monikkopareista (avaimet, arvo) sanakirjassa. sanakirja.kohteet()
järjestellä() Voit lajitella elementit sanakirja.sort()
len () Antaa parien lukumäärän sanakirjassa. len (dikt)
cmp() Vertaa kahden sanakirjan arvoja ja avaimia cmp(sana1, sanelu2)
Str() Tee sanakirjasta tulostettava merkkijonomuoto Str(dikt)

Sanakirjojen yhdistäminen

Täällä ymmärrät kuinka yhdistää kaksi annettua sanakirjaa yhdeksi sanakirjaksi.

Minulla on kaksi sanakirjaa, kuten alla on esitetty:

Sanakirja1 : minun_sanoma1

my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}

Sanakirja 2 : my_dict2

my_dict2 = {"firstName" : "Nick", "lastName": "Price"}

Yhdistäkäämme nämä sanakirjat oma_sane.1 ja oma_san.2 ja luokaamme yksi sanakirja, jossa on namemy_dict.

Yhdistä kaksi sanakirjaa käyttämällä update()-menetelmää

Update()-menetelmä auttaa meitä yhdistämään sanakirjan toiseen. Esimerkissä päivitetään my_dict1 arvolla my_dict2. Update()-menetelmän käytön jälkeen my_dict1 sisältää my_dict2:n sisällön, kuten alla on esitetty:

my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}

my_dict2 = {"firstName" : "Nick", "lastName": "Price"}

my_dict1.update(my_dict2)

print(my_dict1)

lähtö:

{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}

Sanakirjojen yhdistäminen **-menetelmällä (From Python 3.5 eteenpäin)

** on nimeltään Kwargs in Python, ja se toimii Python versio 3.5+. Käyttämällä **-merkkiä voimme yhdistää kaksi sanakirjaa, jolloin se palauttaa yhdistetyn sanakirjan. **-merkin käyttäminen muuttujan edessä korvaa muuttujan koko sisällöllään.

Tässä on toimiva esimerkki **:n käyttämisestä kahden hakemiston yhdistämiseen.

my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}

my_dict2 = {"firstName" : "Nick", "lastName": "Price"}

my_dict =  {**my_dict1, **my_dict2} 

print(my_dict)

lähtö:

{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}

Sanakirjan jäsentesti

Voit testata, onko avain läsnä sanakirjassa vai ei. Tämä testi voidaan suorittaa vain sanakirjan avaimelle, ei arvolle. Jäsenyystesti suoritetaan käyttämällä in avainsana. Kun tarkistat avaimen sanakirjasta käyttämällä in avainsana, lauseke palauttaa tosi, jos avain on olemassa, ja epätosi, jos ei.

Tässä on esimerkki, joka näyttää jäsentestin sanakirjassa.

my_dict = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}
print("email" in my_dict)
print("location" in my_dict)
print("test" in my_dict)

lähtö:

True
True
False

Yhteenveto

  • Ohjelmointikielen sanakirjat ovat eräänlainen tietorakenne, jota käytetään jollakin tavalla yhdistetyn tiedon tallentamiseen.
  • Python Sanakirja on määritelty kahteen osaan Keys ja Values.
  • Sanakirjat eivät tallenna tietojaan missään tietyssä järjestyksessä, joten et välttämättä saa tietojasi takaisin samassa järjestyksessä kuin annoit ne.
  • Avaimet ovat yksi elementti
  • Arvot voivat olla luetteloa tai luetteloa luettelossa, numeroita jne.
  • Useampi kuin yksi merkintä avainta kohden ei ole sallittu (kaksoiskappaletta ei sallita)
  • Sanakirjan arvot voivat olla mitä tahansa tyyppiä, kun taas näppäinten on oltava muuttumattomia, kuten numeroita, monikoita tai merkkijonoja.
  • Sanakirjan näppäimet ovat isoja ja pieniä kirjaimia erottelevia – sama avaimen nimi, mutta eri kirjainkoottuna niitä käsitellään eri avaimina Python sanakirjoja.