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.
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.