Python standardDICT

Python standardDICT

Python tilbyr mange innebygde datastrukturer, for eksempel lister, tuples og ordbøker, for å lagre og administrere data effektivt. Ordbøker gir en enkel måte å lagre data som nøkkelverdipar. En nøkkel fungerer som en indeks og brukes til å hente data. Nøkler skal være unike og uforanderlige i hele ordboken. Nøkler er for det meste strenger og heltall, selv om verdien av en nøkkel kan være av hvilken som helst type, for eksempel et heltall, streng, flytende punktnummer eller komplekst tall. I mellomtiden kan en ordbok inneholde en samling, for eksempel en liste, tuple eller en annen type ordbok. En ordbok i Python er opprettet ved hjelp av et par krøllete parenteser, der hvert nøkkelverdipar er atskilt med komma.

Hva om du prøver å få tilgang til eller endre en spesifikk nøkkel i en ordbok som ikke eksisterer? Vel, i dette tilfellet vil Python -tolken heve "KeyError" -feilen og avslutte utførelsen av programmet.

La oss se på et eksempel på "KeyError" -feilen.

#Creating a Dictionary
my_dict = 1: "hallo", 2: "velkomst", 3: "linuxhint"
#Tilgang en nøkkel som ikke eksisterer
my_dict [4]

Produksjon

For å håndtere denne feilen, gir Python standardDICT -typen, en ordboksklasse som finnes i samlingsmodulen. Denne artikkelen dekker Python DefaultDict i detalj.

Forklaring og eksempler på standarddikt

Standarddict er alternativet til Python Dictionary. Den returnerer objekter av ordbokstype. Standarddict er en underklasse av dikter. Når det. Syntaksen til StandardDict er som følger:

DefaultDict (Default_Factory)

StandardDICT -funksjonen tar standard_factory -parameteren som et argument. Standard_factory -funksjonen returnerer standardverdien for den definerte standardDICT. Hvis vi prøver å få tilgang til eller endre en nøkkel som mangler, returnerer standard_factory -funksjonen standardverdien som resultat. Hvis standard_factory -funksjonen mangler, vil standardDIC heve en "KeyError" -feil hvis det mangler mangler.

Først vil vi implementere et standarddikk i Python -skriptet vårt for å få tilgang til både eksisterende og manglende nøkler.

#import StandardDICT fra innsamlingsmodulen
Fra samlinger importerer standarddict
#definering av en funksjon for å returnere standardverdien
def my_func ():
trykk ("Nøkkelen er ikke definert")
#Creating a DefualTdict
#Passing My_Func () som et argument for standarddict
my_dict = standardDict (my_func)
#definering av tastene og verdiene
my_dict [1] = "hei"
my_dict [2] = "Velkommen"
my_dict [3] = "linuxhint"
#Tilbud verdiene ved hjelp av nøkler
trykk (my_dict [1])
trykk (my_dict [2])
trykk (my_dict [3])
#Tilgang til den savnede eller ikke definerte nøkkelen
my_dict [4]

Produksjon

[4] er den manglende nøkkelen. Så i stedet for å heve en "nøkkelror" -feil, kaller den standard_factory -funksjonen, som returnerer standardverdien.


En lambda -funksjon, kjent som en anonym funksjon, kan også brukes som standard_factory -parameter.

Deretter vil vi implementere en lambda -funksjon og gi den som et argument til standarddict.

#import StandardDICT fra innsamlingsmodulen
Fra samlinger importerer standarddict
#Creating a DefualTdict
#Passing av lamnda -funksjonen som et argument for standarddict
my_dict = standardDict (lambda: "Nøkkelen er ikke definert")
#definering av tastene og verdiene
my_dict [1] = "hei"
my_dict [2] = "Velkommen"
my_dict [3] = "linuxhint"
#Tilbud verdiene ved hjelp av nøkler
trykk (my_dict [1])
trykk (my_dict [2])
trykk (my_dict [3])
#Tilgang til den savnede eller ikke definerte nøkkelen
trykk (my_dict [4])

StandardDICT ringer standard_factory for å gi standardverdien, men __missing () __ -funksjonen gir standardverdien. __Missing () __-funksjonen er en innebygd funksjon i Python som tar standard_factory-parameteren som et argument. Hvis standard_factory -parameteren ikke er definert, hever __missing () __ -funksjonen "KeyError" -feilen.

Her vil vi bruke __missing () __ -funksjonen i Python -skriptet vårt.

#import StandardDICT fra innsamlingsmodulen
Fra samlinger importerer standarddict
#definering av en funksjon for å returnere standardverdien
def my_func ():
trykk ("Nøkkelen er ikke definert")
#Creating a DefualTdict
#Passing My_Func () som et argument for standarddict
my_dict = standardDict (my_func)
#definering av tastene og verdiene
my_dict [1] = "linuxhint"
#Tilbud verdiene ved hjelp av nøkler
trykk (my_dict [1])
#Tilgang til den savnede eller ikke definerte nøkkelen
my_dict.__ Missing __ (2)

Produksjon

Listen og int -klassene kan også brukes som standard_factory -parametere med standarddict.

Liste som standard_factory -parameter

DefaultDict opprettes med listeverdiene når listeklassen sendes en standard_factory -parameter.

#import StandardDICT fra innsamlingsmodulen
Fra samlinger importerer standarddict
# Definere en standarddikt
# bestått listeklasse som en default_factory
my_dict = defaultDict (liste)
for jeg i rekkevidde (7):
my_dict [i].vedlegg (i)
#uttrykk av verdiene
print (my_dict)

Produksjon

Utgangen viser verdiene i listen. Som du kan se, er en standarddikt som inneholder nøkkelen og verdiene blitt opprettet.

Heltall som standard_factory -parameter

Hvis vi passerer INT -klassen som en standard_factory -parameter, kan vi opprette en defaultDict som bare inneholder heltall. Vi oppretter en liste over heltall og deretter lagrer den i standarddict.

#import StandardDICT fra innsamlingsmodulen
Fra samlinger importerer standarddict
# Definere en standarddikt
# passerer int -klasse som en standard_factory
my_dict = defaultDict (int)
#Creating en liste over heltall
my_list = [1,2,3]
for jeg i my_list:
my_dict [i]+= 1
#uttrykk av verdiene
print (my_dict)

Produksjon

I den gitte utgangen verdsetter heltallet før tykktarmen (:) er nøkler, mens heltallverdiene etter tykktarmen er verdier.

Konklusjon

DafualTdict er en ordboklignende klasse som er til stede i samlingsmodulen. Det fungerer som en Python -ordbok, men hever ikke en "nøkkelror" når en nøkkel ikke er funnet. Denne artikkelen forklarer standarddikten i detalj med forskjellige eksempler.