Naučite strukturu podataka Python rječnika – 3. dio


U ovom 3. dijelu serije Python Data Structure, raspravljat ćemo o tome što je rječnik, kako se razlikuje od ostalih struktura podataka u pythonu, kako stvoriti, izbrisati rječničke objekte i metode rječničkih objekata.

  • Rječnik je ugrađena implementacija “Python Data Structure” koja je zbirka parova “Ključ: Vrijednost”.
  • Rječnik se stvara pomoću vitičastih zagrada s ključem i vrijednošću odvojenim točkom i zarezom {Ključ : Vrijednost}.
  • Slično popisu, objekti rječnika su promjenjivi tip podataka što znači da se objekti mogu mijenjati nakon što se rječnik stvori.
  • Konstrukt implementacije rječnika u pythonu općenito je poznat kao “Asocijativni niz”.
  • U popisu ili torkama možemo pristupiti stavkama upućivanjem na njihove indeksne pozicije jer su stavke unutar popisa poredane (tj. pohranjene redoslijedom kojim su stvorene). Objekti rječnika mogu biti bilo kojim redoslijedom jer se stavkama pristupa pomoću pridruženog “Ključa”.
  • Rječnici su vrlo korisni kada moramo pohraniti objekte i uputiti ih imenom.
  • Objekt “ključ” rječnika mora biti jedinstvene i nepromjenjive vrste.
  • Objekt “Ključ” rječnika može biti niz, cijeli broj ili plutajuće vrijednosti.
  • Rječnik “Vrijednosti ” može biti bilo koje vrste podataka.

Konstruirajte objekt rječnika

Objekt Rječnik može se stvoriti pomoću vitičastih zagrada s parom ključeva i vrijednosti koje razdvajaju točku i zarez “{Key:value} ” ili “dict() ” konstruktor metoda.

Za demonstraciju, napravit ću rječnik koji će pohranjivati podatke o nogometnoj momčadi i njihovoj igračkoj postavci s pozicijom kao ključnom i igračem imena kao vrijednosti.

Možete koristiti metodu konstruktora dict() za konstruiranje objekta rječnika.

Pristup objektu rječnika

Stavkama rječnika se pristupa “ključnim” referencama umjesto indeksiranjem. Moguće je koristiti indeksiranje ako unutar rječnika imamo bilo koji tip podataka niza (string, popis, tuples, itd.).

Stavkama se može pristupiti pomoću dic_object[“ključ”].

KeyError ” će se pojaviti ako pokušate pristupiti stavkama rječnika s indeksiranjem ili ako pokušate pristupiti “ključu” koji nije dio rječnika.

Izmjena i brisanje objekta rječnika

Možete izmijeniti postojeću stavku ili dodati novu stavku izravnim pozivanjem na njen ključ Dictionary_object[“ključ”]=vrijednost. Ovo će ažurirati vrijednost ako je ključ dostupan ili dodati novu stavku u rječnik.

Izbrisati

Možete izbrisati određenu vrijednost na temelju njezinog ključa ili izbrisati ključ ili izbrisati objekt rječnika iz prostora imena pomoću ugrađene ključne riječi “del”.

Metode rječnika

Možete koristiti ugrađenu funkciju “dir()” za traženje dostupnih metoda i atributa za objekt rječnika.

clear() – Ova metoda će ukloniti sve stavke iz objekta rječnika. Ova metoda ne uzima nikakve argumente.

Copy() – Vratit će plitku kopiju objekta rječnika. Metoda copy() ne uzima nikakve parametre kao argument.

Keys() – Ova metoda vraća objekt prikaza za ključeve dostupne u rječniku kao objekt ključa rječnika. Ova metoda ne uzima nikakve argumente.

Values() – Ova metoda vraća objekt prikaza za vrijednosti iz objekta rječnika. Ova metoda ne uzima argumente.

Items() – Ova metoda vraća par tuple(key,value) iz objekta rječnika.

Setdefault() – Ova metoda pretražuje zadani ključ u rječniku. Ako ključ nije pronađen u rječniku, bit će dodan u rječnik.
Potrebna su 2 argumenta dic.setdefault(key,[,default value]).

Zadana vrijednost postavljena je na Ništa ako vrijednost nije navedena.

get() – Ova metoda vraća vrijednost navedenog ključa ako je ključ dostupan u rječniku.

Syntax dict.get(key[, value]) 

Ova metoda uzima 2 argumenta. Prvi je ulazni argument koji će tražiti dani ključ u rječniku i vratiti vrijednost ključa je pronađen. Drugi argument će vratiti vrijednost ako ključ nije pronađen. Zadana povratna vrijednost postavljena je na “Ništa”.

Update() – Metoda ažuriranja dodaje stavke u rječnik ako ključ nije u rječniku. Ako se ključ pronađe, taj se ključ ažurira novom vrijednošću. Metoda ažuriranja prihvaća ili drugi rječnički objekt para k: v ili iterabilni objekt para k: v kao par torki.

Uklanjanje/brisanje objekta rječnika

Pop() – Ova metoda uklanja vrijednost na temelju ključa kao ulaza i vraća uklonjenu vrijednost.

Ova metoda prihvaća dva parametra.

  1. Ključ – ključ koji se traži u objektu rječnika.
  2. Zadano – Povratna vrijednost koju treba navesti ako ključ nije pronađen u rječniku.

NAPOMENA Ako ključ nije pronađen u rječniku i ako ne navedete zadanu vrijednost, pojavit će se “KeyError ”.

Popitem() – Uklanja proizvoljne elemente iz objekta rječnika. Nijedan argument se ne prihvaća i vraća “KeyError” ako se kaže da je rječnik prazan.

Kao list i torke, možemo koristiti ključnu riječ del za uklanjanje stavki u objektu rječnika ili uklanjanje objekta rječnika iz prostora imena.

Sažetak

U ovom ste članku vidjeli što je rječnik i kako se razlikuje od ostalih struktura podataka u pythonu. Također ste vidjeli kako kreirati, pristupiti, mijenjati i brisati objekte rječnika.

Optimalan slučaj korištenja rječnika je kada moramo pohraniti podatke na temelju imena i uputiti ih pod njegovim imenom. U sljedećem članku vidjet ćemo drugu vrstu strukture podataka ugrađene u python “set/Frozenset”. Do tada više o rječnicima možete pročitati ovdje.