Ordbok i Python med syntaks og eksempel

Hva er en ordbok i Python?

A Ordbok i Python er den uordnede og foranderlige samlingen av dataverdier som inneholder nรธkkel-verdi-par. Hvert nรธkkel-verdi-par i ordboken tilordner nรธkkelen til den tilhรธrende verdien, noe som gjรธr den mer optimalisert. En ordbok i python erklรฆres ved รฅ legge ved en kommaseparert liste over nรธkkelverdi-par ved รฅ bruke krรธllete klammeparenteser({}). Python Ordbok er klassifisert i to elementer: nรธkler og verdier.

  • Nรธkler vil vรฆre et enkelt element
  • Verdier kan vรฆre en liste eller liste i en liste, tall osv.

Syntaks for Python Ordbok

Dict = { ' Tim': 18,  xyz,.. }

Ordbok er oppfรธrt i krรธllete parenteser, innenfor disse krรธllete parentesene er nรธkler og verdier erklรฆrt. Hver nรธkkel er atskilt fra verdien med et kolon (:), mens kommaer skiller hvert element.

Syntaks for Python Ordbok

Egenskaper til ordboknรธkler

Det er to viktige punkter nรฅr du bruker ordboknรธkler

  • Mer enn รฉn oppfรธring per nรธkkel er ikke tillatt (ingen duplikatnรธkkel er tillatt)
  • Verdiene i ordboken kan vรฆre av hvilken som helst type, mens tastene mรฅ vรฆre uforanderlige som tall, tupler
  • Ordboknรธkler skiller mellom store og smรฅ bokstaver - Samme nรธkkelnavn, men med de forskjellige tilfellene behandles som forskjellige nรธkler i Python ordbรธker.

Python 2 Eksempel

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}   
print (Dict['Tiffany'])

Python 3 Eksempel

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}   
print((Dict['Tiffany']))
  • I koden har vi ordboknavnet "Dict"
  • Vi oppga navnet og alderen til personen i ordboken, der navnet er "Nรธkler" og alder er "verdien"
  • Kjรธr nรฅ koden
  • Den henter tiffanys alder fra ordboken.

Python Ordbokmetoder

Kopierer ordbok

Du kan ogsรฅ kopiere hele ordboken til en ny ordbok. For eksempel, her har vi kopiert vรฅr originale ordbok til det nye ordboknavnet "Gutter" og "Jenter".

Python 2 Eksempel

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 Eksempel

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)
  • Vi har den originale ordboken (Dict) med navn og alder pรฅ guttene og jentene sammen
  • Men vi vil ha en gutteliste atskilt fra en jenteliste, sรฅ vi definerte elementet gutter og jenter i et eget ordboknavn "Gutter" og "Jenter."
  • Nรฅ har vi igjen opprettet et nytt ordboknavn "elev X" og "elev Y", der alle nรธklene og verdiene til gutteordboken er kopiert inn i student X, og jentene vil bli kopiert i studentY
  • Sรฅ nรฅ trenger du ikke se pรฅ hele listen i hovedordboken( Dict) for รฅ sjekke hvem som er gutt og hvem som er jente, du mรฅ bare skrive ut student X hvis du vil ha gutteliste og StudentY hvis du vil ha jenteliste
  • Sรฅ nรฅr du kjรธrer student X- og studentY-ordboken, vil den gi alle elementene som finnes i ordboken for "gutter" og "jenter" separat

Oppdaterer ordboken

Du kan ogsรฅ oppdatere en ordbok ved รฅ legge til en ny oppfรธring eller et nรธkkelverdi-par til en eksisterende oppfรธring eller ved รฅ slette en eksisterende oppfรธring. Her i eksemplet vil vi legge til et annet navn, "Sarah" til vรฅr eksisterende ordbok.

Python 2 Eksempel

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
Dict.update({"Sarah":9})
print Dict

Python 3 Eksempel

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
Dict.update({"Sarah":9})
print(Dict)
  • Vรฅr eksisterende ordbok "Dict" har ikke navnet "Sarah."
  • Vi bruker metoden Dict.update for รฅ legge Sarah til vรฅr eksisterende ordbok
  • Kjรธr nรฅ koden, den legger Sarah til i vรฅr eksisterende ordbok

Slett nรธkler fra ordboken

Python ordbok gir deg friheten til รฅ slette ethvert element fra ordboklisten. Anta at du ikke vil ha navnet Charlie i listen, sรฅ du kan fjerne nรธkkelelementet med fรธlgende kode.

Python 2 Eksempel

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
del Dict ['Charlie']
print Dict

Python 3 Eksempel

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
del Dict ['Charlie']
print(Dict)

Nรฅr du kjรธrer denne koden, skal den skrive ut ordboklisten uten Charlie.

  • Vi brukte koden del Dict
  • Nรฅr koden er utfรธrt, har den slettet Charlie fra hovedordboken

Ordbok elementer() Metode

items()-metoden returnerer en liste over tuppelpar (nรธkler, verdi) i ordboken.

Python 2 Eksempel

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "Students Name: %s" % Dict.items()

Python 3 Eksempel

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("Students Name: %s" % list(Dict.items()))
  • Vi bruker metoden code items() for vรฅr Dict.
  • Nรฅr koden ble utfรธrt, returnerer den en liste over elementer (nรธkler og verdier) fra ordboken

Sjekk om en gitt nรธkkel allerede finnes i en ordbok

For en gitt liste kan du ogsรฅ sjekke om barneordboken vรฅr finnes i hovedordboken eller ikke. Her har vi to underordbรธker "Gutter" og "Jenter", nรฅ vil vi sjekke om ordboken vรฅr Gutter finnes i vรฅr hoved-"Dict" eller ikke. For det bruker vi for loop-metoden med else if-metoden.

Python 2 Eksempel

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 Eksempel

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)
  • Ocuco forloop i kode sjekker hver tast i hovedordboken for guttenรธkler
  • Hvis det finnes i hovedordboken, skal det skrives ut sant, ellers skal det skrives ut usann
  • Nรฅr du kjรธrer koden, vil den skrives ut "True" i tre ganger, ettersom vi har tre elementer i "Boys"-ordboken vรฅr
  • Sรฅ det indikerer at "guttene" finnes i hovedordboken vรฅr (Dict)

Sortering av ordboken

I ordboken kan du ogsรฅ sortere elementene. For eksempel, hvis vi รธnsker รฅ skrive ut navnet pรฅ elementene i ordboken vรฅr alfabetisk, mรฅ vi bruke for en lรธkke. Den vil sortere hvert element i ordboken deretter.

Python 2 Eksempel

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 Eksempel

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]))))
  • Vi erklรฆrte variabelen studenter for vรฅr ordbok "Dict."
  • Deretter bruker vi koden Students.sort, som vil sortere elementet inne i ordboken vรฅr
  • Men for รฅ sortere hvert element i ordboken, kjรธrer vi for en lรธkke ved รฅ erklรฆre variabel S
  • Nรฅ, nรฅr vi kjรธrer koden, vil for-lรธkken kalle opp hvert element fra ordboken, og den vil skrive ut strengen og verdien i en rekkefรธlge

Python Ordbok innebygde funksjoner

Ordbok len() Metode

Funksjonen len() gir antall par i ordboken.

For eksempel,

Python 2 Eksempel

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "Length : %d" % len (Dict)

Python 3 Eksempel

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("Length : %d" % len (Dict))

Nรฅr len (Dict)-funksjonen utfรธres, gir den utdata ved "4" ettersom det er fire elementer i vรฅr ordbok

Variable typer

Python krever ikke รฅ eksplisitt deklarere reserveminneplassen; det skjer automatisk. Tilordne verdiene til variabel ยซ=ยป likhetstegn brukes. Koden for รฅ bestemme variabeltypen er " %type (Dict)."

Python 2 Eksempel

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "variable Type: %s" %type (Dict)

Python 3 Eksempel

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("variable Type: %s" %type (Dict))
  • Bruk koden %type for รฅ kjenne variabeltypen
  • Nรฅr koden ble utfรธrt, forteller den at en variabeltype er en ordbok

Python List cmp()-metoden

Sammenligningsmetoden cmp() brukes i Python รฅ sammenligne verdier og nรธkler til to ordbรธker. Hvis metoden returnerer 0 hvis begge ordbรธkene er like, 1 hvis dic1 > dict2 og -1 hvis dict1 < dict2.

Python 2 Eksempel

Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}	
print cmp(Girls, Boys)

Python 3 Eksempel

cmp is not supported in Python 3
  • Vi har to ordboknavn, "Gutter" og "Jenter."
  • Uansett hva du erklรฆrer fรธrst i koden "cmp(Girls, Boys)" vil bli betraktet som ordbok 1. I vรฅrt tilfelle erklรฆrte vi "Jenter" fรธrst, sรฅ det vil bli betraktet som ordbok 1 og gutter som ordbok 2
  • Nรฅr koden kjรธres, skrives den ut -1, det indikerer at vรฅr ordbok 1 er mindre enn ordbok 2.

Ordbok Str(dikt)

Med Str()-metoden kan du lage en ordbok til et utskrivbart strengformat.

Python 2 Eksempel

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "printable string:%s" % str (Dict)

Python 3 Eksempel

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("printable string:%s" % str (Dict))
  • Bruk koden % str (Dict)
  • Det vil returnere ordbokelementene til et utskrivbart strengformat

Her er listen over alle ordbokmetoder

Metode Tekniske beskrivelser syntax
kopiere() Kopier hele ordboken til ny ordbok dict.copy()
Oppdater() Oppdater en ordbok ved รฅ legge til en ny oppfรธring eller et nรธkkelverdi-par til en eksisterende oppfรธring eller ved รฅ slette en eksisterende oppfรธring. Dict.update([other])
gjenstander () Returnerer en liste over tuppelpar (nรธkler, verdi) i ordboken. dictionary.items()
sortere() Du kan sortere elementene dictionary.sort()
len () Gir antall par i ordboken. len (dikt)
cmp() Sammenlign verdiene og nรธklene til to ordbรธker cmp(dikt1, dikt2)
Str() Lag en ordbok til et utskrivbart strengformat Str(dikt)

Slรฅ sammen ordbรธker

Her vil du forstรฅ hvordan du slรฅr sammen to gitte ordbรธker til en enkelt ordbok.

Jeg har to ordbรธker som vist nedenfor:

Ordbok1 : min_dikt1

my_dict1 = {"username": "XYZ", "email": "[email protected]", "location":"Mumbai"}

Ordbok 2 : min_dikt2

my_dict2 = {"firstName" : "Nick", "lastName": "Price"}

La oss slรฅ sammen begge disse ordbรธkene my_dict1 og my_dict2 og lage en enkelt ordbok med namemy_dict.

Slรฅ sammen to ordbรธker ved hjelp av update()-metoden

Update()-metoden vil hjelpe oss รฅ slรฅ sammen en ordbok med en annen. I eksemplet vil vi oppdatere min_dikt1 med min_dikt2. Etter รฅ ha brukt update()-metoden vil my_dict1 ha innholdet i my_dict2 som vist nedenfor:

my_dict1 = {"username": "XYZ", "email": "[email protected]", "location":"Mumbai"}

my_dict2 = {"firstName" : "Nick", "lastName": "Price"}

my_dict1.update(my_dict2)

print(my_dict1)

Utgang:

{'username': 'XYZ', 'email': '[email protected]', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}

Slรฅ sammen ordbรธker ved hjelp av **-metoden (Fra Python 3.5 og utover)

**en heter Kwargs in Python, og det vil fungere med Python versjon 3.5+. Ved รฅ bruke ** kan vi slรฅ sammen to ordbรธker, og det vil returnere den sammenslรฅtte ordboken. Bruk av ** foran variabelen vil erstatte variabelen med alt innholdet.

Her er et fungerende eksempel pรฅ bruk av ** for รฅ slรฅ sammen to kataloger.

my_dict1 = {"username": "XYZ", "email": "[email protected]", "location":"Mumbai"}

my_dict2 = {"firstName" : "Nick", "lastName": "Price"}

my_dict =  {**my_dict1, **my_dict2} 

print(my_dict)

Utgang:

{'username': 'XYZ', 'email': '[email protected]', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}

Ordbok medlemskapsprรธve

Du kan teste om en nรธkkel i presens inne i en ordbok eller ikke. Denne testen kan bare utfรธres pรฅ nรธkkelen til en ordbok og ikke verdien. Medlemskapstesten gjรธres ved hjelp av in nรธkkelord. Nรฅr du sjekker nรธkkelen i ordboken ved hjelp av in nรธkkelord, returnerer uttrykket sant hvis nรธkkelen er tilstede og usant hvis ikke.

Her er et eksempel som viser medlemskapstest pรฅ en ordbok.

my_dict = {"username": "XYZ", "email": "[email protected]", "location":"Mumbai"}
print("email" in my_dict)
print("location" in my_dict)
print("test" in my_dict)

Utgang:

True
True
False

Sammendrag

  • Ordbรธker i et programmeringssprรฅk er en type datastruktur som brukes til รฅ lagre informasjon koblet pรฅ en eller annen mรฅte.
  • Python Ordbok er definert i to elementer Keys og Values.
  • Ordbรธker lagrer ikke informasjonen deres i noen spesiell rekkefรธlge, sรฅ det kan hende du ikke fรฅr informasjonen tilbake i samme rekkefรธlge som du skrev den inn.
  • Nรธkler vil vรฆre et enkelt element
  • Verdier kan vรฆre en liste eller liste i en liste, tall osv.
  • Mer enn รฉn oppfรธring per nรธkkel er ikke tillatt (ingen duplikatnรธkkel er tillatt)
  • Verdiene i ordboken kan vรฆre av hvilken som helst type, mens tastene mรฅ vรฆre uforanderlige som tall, tupler eller strenger.
  • Ordboknรธkler skiller mellom store og smรฅ bokstaver - Samme nรธkkelnavn, men med de forskjellige tilfellene behandles som forskjellige nรธkler i Python ordbรธker.

Oppsummer dette innlegget med: