Rječnik u Python sa sintaksom i primjerom
U čemu je rječnik Python?
A Rječnik u Python je neuređena i promjenjiva zbirka vrijednosti podataka koja sadrži parove ključ-vrijednost. Svaki par ključ-vrijednost u rječniku preslikava ključ u pridruženu vrijednost što ga čini optimiziranijim. Rječnik u pythonu deklarira se uključivanjem popisa parova ključ-vrijednost odvojenih zarezima pomoću vitičastih zagrada ({}). Python Rječnik je razvrstan u dva elementa: ključeve i vrijednosti.
- Ključevi će biti jedan element
- Vrijednosti mogu biti popis ili popis unutar popisa, brojevi itd.
Sintaksa za Python Rječnik
Dict = { ' Tim': 18, xyz,.. }
Rječnik je naveden u vitičastim zagradama, unutar tih vitičastih zagrada deklarirani su ključevi i vrijednosti. Svaki ključ je od svoje vrijednosti odvojen dvotočkom (:), dok zarezi odvajaju svaki element.
Svojstva ključeva rječnika
Dvije su važne točke pri korištenju ključeva rječnika
- Više od jednog unosa po ključu nije dopušteno (duplicirani ključ nije dopušten)
- Vrijednosti u rječniku mogu biti bilo koje vrste, dok ključevi moraju biti nepromjenjivi poput brojeva, torke
- Ključevi rječnika razlikuju velika i mala slova - Isti naziv ključa, ali s različitim velikim i velikim slovima, tretira se kao različiti ključevi Python rječnicima.
Python 2 Primjer
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print (Dict['Tiffany'])
Python 3 Primjer
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print((Dict['Tiffany']))
- U kodu imamo naziv rječnika "Dict"
- Naveli smo ime i dob osobe u rječniku, gdje je ime "Ključevi", a dob je "vrijednost"
- Sada pokrenite kod
- Dohvaća tiffany dob iz rječnika.
Python Metode rječnika
Kopiranje rječnika
Također možete kopirati cijeli rječnik u novi rječnik. Na primjer, ovdje smo kopirali naš originalni rječnik u novi naziv rječnika "Dječaci" i "Djevojčice".
Python 2 Primjer
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 Primjer
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)
- Imamo originalni rječnik (Dict) s imenima i godinama dječaka i djevojčica zajedno
- Ali želimo da je popis dječaka odvojen od popisa djevojčica, pa smo definirali element dječaka i djevojčica u zasebnom nazivu rječnika "Dječaci" i "Djevojčice".
- Sada smo opet kreirali novi naziv rječnika “student X” i “student Y,” gdje se svi ključevi i vrijednosti iz rječnika dječaka kopiraju u student X, a djevojke će biti kopirane u studentY
- Dakle, sada ne morate gledati u cijeli popis u glavnom rječniku (Dict) da biste provjerili tko je dječak, a tko djevojčica, samo morate ispisati učenik X ako želite popis dječaka i StudentY ako želite popis djevojčica
- Dakle, kada pokrenete studentski X i studentY rječnik, on će zasebno dati sve elemente prisutne u rječniku "dječaci" i "djevojčice".
Ažuriranje rječnika
Također možete ažurirati rječnik dodavanjem novog unosa ili para ključ-vrijednost postojećem unosu ili brisanjem postojećeg unosa. Ovdje u primjeru, dodat ćemo još jedno ime, "Sarah" u naš postojeći rječnik.
Python 2 Primjer
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Dict.update({"Sarah":9}) print Dict
Python 3 Primjer
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Dict.update({"Sarah":9}) print(Dict)
- Naš postojeći rječnik "Dict" nema naziv "Sarah".
- Koristimo metodu Dict.update za dodavanje Sare u naš postojeći rječnik
- Sada pokrenite kod, on dodaje Sarah našem postojećem rječniku
Izbriši ključeve iz rječnika
Python rječnik vam daje slobodu brisanja bilo kojeg elementa s popisa rječnika. Pretpostavimo da ne želite ime Charlie na popisu, pa možete ukloniti ključni element pomoću sljedećeg koda.
Python 2 Primjer
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} del Dict ['Charlie'] print Dict
Python 3 Primjer
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} del Dict ['Charlie'] print(Dict)
Kada pokrenete ovaj kod, on bi trebao ispisati popis rječnika bez Charlieja.
- Koristili smo kod del Dict
- Kada se kod izvrši, izbrisao je Charlie iz glavnog rječnika
Rječničke stavke() Metoda
Metoda items() vraća popis parova tuple (Ključevi, Vrijednost) u rječniku.
Python 2 Primjer
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print "Students Name: %s" % Dict.items()
Python 3 Primjer
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("Students Name: %s" % list(Dict.items()))
- Koristimo metodu code items() za naš Dict.
- Kada se kod izvrši, vraća popis stavki (ključeva i vrijednosti) iz rječnika
Provjerite postoji li određeni ključ već u rječniku
Za određeni popis također možete provjeriti postoji li naš dječji rječnik u glavnom rječniku ili ne. Ovdje imamo dva podrječnika “Dječaci” i “Djevojčice”, sada želimo provjeriti postoji li naš rječnik Dječaci u našem glavnom “Dictu” ili ne. Za to koristimo metodu for petlje s else if metodom.
Python 2 Primjer
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 Primjer
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)
- The petlja u kodu provjerava svaki ključ u glavnom rječniku za tipke za dječake
- Ako postoji u glavnom rječniku, trebao bi ispisati true ili bi trebao ispisati false
- Kada izvršite kod, ispisat će "True" tri puta, jer imamo tri elementa u našem rječniku "Boys"
- Dakle, to ukazuje da "Dječaci" postoje u našem glavnom rječniku (Dict)
Razvrstavanje rječnika
U rječniku također možete sortirati elemente. Na primjer, ako želimo ispisati nazive elemenata našeg rječnika abecednim redom, moramo koristiti for petlju. Razvrstat će svaki element rječnika u skladu s tim.
Python 2 Primjer
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 Primjer
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]))))
- Proglasili smo varijablu students za naš rječnik "Dict."
- Zatim koristimo kod Students.sort, koji će sortirati element unutar našeg rječnika
- Ali da sortiramo svaki element u rječniku, pokrećemo for petlju deklarirajući varijablu S
- Sada, kada izvršimo kod, for petlja će pozvati svaki element iz rječnika i ispisat će niz i vrijednost redoslijedom
Python Funkcije ugrađene u rječnik
Metoda rječnika len().
Funkcija len() daje broj parova u rječniku.
Na primjer,
Python 2 Primjer
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print "Length : %d" % len (Dict)
Python 3 Primjer
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("Length : %d" % len (Dict))
Kada se izvrši funkcija len (Dict), daje izlaz na "4" jer postoje četiri elementa u našem rječniku
Vrste varijabli
Python ne zahtijeva eksplicitno deklariranje rezervnog memorijskog prostora; događa se automatski. Koriste se dodijeljene vrijednosti varijabli znak jednakosti “=”. Kod za određivanje tipa varijable je "%type (Dict)."
Python 2 Primjer
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print "variable Type: %s" %type (Dict)
Python 3 Primjer
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("variable Type: %s" %type (Dict))
- Koristite kod %type da biste saznali vrstu varijable
- Kada je kôd izvršen, on govori da je tip varijable rječnik
Python Metoda List cmp().
Metoda usporedbe cmp() koristi se u Python za usporedbu vrijednosti i ključeva dvaju rječnika. Ako metoda vraća 0 ako su oba rječnika jednaka, 1 ako je dic1 > dict2 i -1 ako je dict1 < dict2.
Python 2 Primjer
Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} print cmp(Girls, Boys)
Python 3 Primjer
cmp is not supported in Python 3
- Imamo dva naziva iz rječnika, "dječaci" i "djevojke".
- Što god prvo deklarirate u kodu “cmp(Girls, Boys)” smatrat će se rječnikom 1. U našem slučaju, prvo smo deklarirali “Girls”, tako da će se smatrati rječnikom 1, a dječaci rječnikom 2
- Kada se kod izvrši, on ispisuje -1, što pokazuje da je naš rječnik 1 manji od rječnika 2.
Rječnik Str(dict)
Pomoću metode Str() možete napraviti rječnik u obliku niza koji se može ispisati.
Python 2 Primjer
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print "printable string:%s" % str (Dict)
Python 3 Primjer
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("printable string:%s" % str (Dict))
- Koristite kod % str (Dict)
- Vratit će elemente rječnika u format niza koji se može ispisati
Ovdje je popis svih Rječničkih metoda
način | Description | Sintaksa |
---|---|---|
copy () | Kopirajte cijeli rječnik u novi rječnik | dict.copy() |
ažuriranje() | Ažurirajte rječnik dodavanjem novog unosa ili para ključ-vrijednost postojećem unosu ili brisanjem postojećeg unosa. | Dict.update([other]) |
stavke () | Vraća popis parova torki (Ključevi, Vrijednost) u rječniku. | dictionary.items() |
vrsta() | Možete sortirati elemente | rječnik.sort() |
len () | Daje broj parova u rječniku. | len(dikt) |
cmp() | Usporedite vrijednosti i ključeve dvaju rječnika | cmp(dict1, dict2) |
Str() | Napravite rječnik u obliku niza koji se može ispisati | Str(dict) |
Spajanje rječnika
Ovdje ćete razumjeti kako spojiti dva data rječnika u jedan rječnik.
Imam dva rječnika kao što je prikazano u nastavku:
Rječnik1 : moj_dikt1
my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}
Rječnik 2 : my_dict2
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
Spojimo oba ova rječnika my_dict1 i my_dict2 i stvorimo jedan rječnik s namemy_dict.
Spojite dva rječnika pomoću metode update().
Metoda update() pomoći će nam da spojimo jedan rječnik s drugim. U primjeru ćemo ažurirati my_dict1 s my_dict2. Nakon korištenja metode update(), my_dict1 će imati sadržaj my_dict2 kao što je prikazano u nastavku:
my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"} my_dict2 = {"firstName" : "Nick", "lastName": "Price"} my_dict1.update(my_dict2) print(my_dict1)
Izlaz:
{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}
Spajanje rječnika pomoću ** metode (Od Python 3.5 nadalje)
** se zove Kwargs in Python, i radit će s Python verzija 3.5+. Koristeći **, možemo spojiti dva rječnika, a to će vratiti spojeni rječnik. Korištenje ** ispred varijable zamijenit će varijablu sa svim njezinim sadržajem.
Ovdje je radni primjer korištenja ** za spajanje dva direktorija.
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)
Izlaz:
{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}
Test pripadnosti rječniku
Možete provjeriti je li ključ prisutan unutar rječnika ili ne. Ovaj test se može izvesti samo na ključu rječnika, a ne na vrijednosti. Test članstva provodi se pomoću in ključna riječ. Kada provjerite ključ u rječniku pomoću in ključna riječ, izraz vraća true ako je ključ prisutan i false ako nije.
Ovdje je primjer koji pokazuje test članstva u rječniku.
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)
Izlaz:
True True False
Rezime
- Rječnici u programskom jeziku su vrsta podatkovne strukture koja se koristi za pohranu informacija povezanih na neki način.
- Python Rječnik je definiran u dva elementa Ključevi i Vrijednosti.
- Rječnici ne pohranjuju svoje podatke nekim određenim redoslijedom, tako da možda nećete dobiti svoje podatke natrag istim redoslijedom kojim ste ih unijeli.
- Ključevi će biti jedan element
- Vrijednosti mogu biti popis ili popis unutar popisa, brojevi itd.
- Više od jednog unosa po ključu nije dopušteno (duplicirani ključ nije dopušten)
- Vrijednosti u rječniku mogu biti bilo koje vrste, dok ključevi moraju biti nepromjenjivi poput brojeva, torki ili nizova.
- Ključevi rječnika razlikuju velika i mala slova - Isti naziv ključa, ali s različitim velikim i velikim slovima, tretira se kao različiti ključevi Python rječnicima.