Rječnik u Python sa sintaksom i primjerom

⚡ Pametni sažetak

Rječnik u Python je neuređena kolekcija parova ključ-vrijednost zapisana u vitičastim zagradama. Primjeri u nastavku pokrivaju stvaranje rječnika, pristup, ažuriranje i brisanje elemenata, ugrađene metode i svojstva ključeva rječnika.

  • 🗂️ Definicija: Rječnik pohranjuje podatke kao parove ključ-vrijednost unutar vitičastih zagrada.
  • 🔑 tipke: Ključevi moraju biti jedinstveni i nepromjenjivi; vrijednosti se mogu ponavljati.
  • ➕ Update: Dodajte ili promijenite stavke dodjeljivanjem vrijednosti ključu.
  • 🗑️ Izbrisati: Uklonite stavke pomoću naredbe del ili metode pop().
  • 🛠️ Metode: Ugrađene metode poput keys(), values() i items() pomažu vam u radu s rječnicima.
  • ⚡ Brzo pretraživanje: Rječnici omogućuju brz pristup vrijednostima pomoću ključa.

Rječnik u Python

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

Pitanja i odgovori

Rječnik pohranjuje podatke kao parove ključ-vrijednost kojima se pristupa pomoću ključeva, dok popis pohranjuje uređene stavke kojima se pristupa pomoću numeričkog indeksa. Koristite rječnike za označene pretrage, a popise za uređene nizove.

Ne. Ključevi u rječniku moraju biti jedinstveni. Ako postojećem ključu dodijelite vrijednost, nova vrijednost zamjenjuje staru. Međutim, vrijednosti se mogu slobodno ponavljati između različitih ključeva.

Od Python 3.7, rječnici čuvaju redoslijed umetanja, pa se stavke vraćaju redoslijedom kojim ste ih dodali. Ranije verzije to nisu jamčile, pa se stariji kod ne bi trebao oslanjati na redoslijed.

Koristite for petlju. Looping preko rječnika izravno daje svoje ključeve; koristite .values() za čitanje vrijednosti i .items() za raspakiranje parova ključ-vrijednost, kao u: za ključ, vrijednost u my_dict.items().

Razumijevanje rječnika gradi rječnik u jednom retku iz iterabilne jedinice, koristeći sintaksu {ključ: vrijednost za stavku u iterabilnoj jedinici}. Na primjer, {x: x*x za x u rasponu(5)} gradi rječnik kvadrata.

Rječnici pohranjuju postavke konfiguracije, hiperparametre, broj riječi i mapu značajkipingMnoge knjižnice vraćaju rezultate kao rječnike, a JSON se učitava izravno u njih, što ih čini ključnima za organiziranje označenih podataka u umjetnoj inteligenciji i strojnom učenju.

Da. AI asistenti mogu pretvoriti CSV retke, JSON ili običan tekst u spreman za upotrebu kod rječnika i predložiti razumnu strukturu ključeva. Također pomažu u preoblikovanju rječnika i brzom otklanjanju pogrešaka ključeva.

Da. GitHub Copilot može generirati literale rječnika, razumjevanja i pretraživanja iz komentara ili naziva funkcije, dok agentski alati refaktoriraju ponovljeni kod u rječnike. Uvijek pregledajte prijedloge za ispravne ključeve i rubne slučajeve.

Sažmite ovu objavu uz: