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.

Sintaksa za Python Rječnik

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.