Ordbok i Python med syntaks og eksempel

โšก Smart oppsummering

Ordbok i Python er en uordnet samling av nรธkkel-verdi-par skrevet i krรธllparenteser. Eksemplene nedenfor dekker opprettelse av ordbรธker, tilgang til, oppdatering og sletting av elementer, innebygde metoder og egenskapene til ordboksnรธkler.

  • ๐Ÿ—‚๏ธ Definisjon: En ordbok lagrer data som nรธkkel-verdi-par inni krรธllparenteser.
  • ๐Ÿ”‘ Keys: Nรธkler mรฅ vรฆre unike og uforanderlige; verdier kan gjentas.
  • โž• Oppdatering: Legg til eller endre elementer ved รฅ tilordne en verdi til en nรธkkel.
  • ๐Ÿ—‘๏ธ Slett: Fjern elementer med del eller pop()-metoden.
  • ๐Ÿ› ๏ธ Metoder: Innebygde metoder som keys(), values() og items() hjelper deg med รฅ jobbe med ordbรธker.
  • โšก Raskt oppslag: Ordbรธker gir rask tilgang til verdier ved hjelp av nรธkkelen sin.

Ordbok i Python

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": "xyz@gmail.com", "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": "xyz@gmail.com", "location":"Mumbai"}

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

my_dict1.update(my_dict2)

print(my_dict1)

Utgang:

{'username': 'XYZ', 'email': 'xyz@gmail.com', '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": "xyz@gmail.com", "location":"Mumbai"}

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

my_dict =  {**my_dict1, **my_dict2}

print(my_dict)

Utgang:

{'username': 'XYZ', 'email': 'xyz@gmail.com', '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": "xyz@gmail.com", "location":"Mumbai"}
print("email" in my_dict)
print("location" in my_dict)
print("test" in my_dict)

Utgang:

True
True
False

Spรธrsmรฅl og svar

En ordbok lagrer data som nรธkkelverdipar som er tilgjengelige via nรธkler, mens en liste lagrer ordnede elementer som er tilgjengelige via en numerisk indeks. Bruk ordbรธker for merkede oppslag og lister for ordnede sekvenser.

Nei. Nรธkler i en ordbok mรฅ vรฆre unike. Hvis du tilordner en verdi til en eksisterende nรธkkel, erstatter den nye verdien den gamle. Verdier kan imidlertid gjentas fritt pรฅ tvers av forskjellige nรธkler.

Siden Python 3.7, ordbรธker beholder innsettingsrekkefรธlgen, slik at elementer returneres i den rekkefรธlgen du la dem til. Tidligere versjoner garanterte ikke dette, sรฅ eldre kode bรธr ikke vรฆre avhengig av rekkefรธlge.

Bruk en for-lรธkke.ping over ordboken gir direkte nรธklene sine; bruk .values() for รฅ lese verdier og .items() for รฅ pakke ut nรธkkel-verdi-par sammen, som i: for key, value i my_dict.items().

En ordbokforstรฅelse bygger en ordbok pรฅ รฉn linje fra en itererbar ordbok, ved รฅ bruke syntaksen {key: value for item in iterable}. For eksempel bygger {x: x*x for x in range(5)} en kvadratordbok.

Ordbรธker lagrer konfigurasjonsinnstillinger, hyperparametere, ordtellinger og funksjonskartpings. Mange biblioteker returnerer resultater som ordbรธker, og JSON lastes direkte inn i dem, noe som gjรธr dem sentrale for รฅ organisere merkede data i AI og maskinlรฆring.

Ja. AI-assistenter kan gjรธre CSV-rader, JSON eller ren tekst om til bruksklar ordbokkode og foreslรฅ en fornuftig nรธkkelstruktur. De hjelper ogsรฅ med รฅ omforme ordbรธker og feilsรธke nรธkkelfeil raskt.

Ja. GitHub Copilot kan generere ordbokslitteraler, forstรฅelser og oppslag fra en kommentar eller et funksjonsnavn, mens agentverktรธy omstrukturerer gjentatt kode til ordbรธker. Se alltid gjennom forslagene for riktige nรธkler og kanttilfeller.

Oppsummer dette innlegget med: