Ordbog i Python med syntaks og eksempel

⚡ Smart opsummering

Ordbog i Python er en uordnet samling af nøgle-værdi-par skrevet i krøllede parenteser. Eksemplerne nedenfor dækker oprettelse af ordbøger, adgang til, opdatering og sletning af elementer, indbyggede metoder og egenskaberne for ordbogsnøgler.

  • 🗂️ Definition: En ordbog gemmer data som nøgle-værdi-par i krøllede parenteser.
  • 🔑 nøgler: Nøgler skal være unikke og uforanderlige; værdier kan gentages.
  • Update: Tilføj eller rediger elementer ved at tildele en værdi til en nøgle.
  • 🗑️ Slette: Fjern elementer med del eller pop() metoden.
  • 🛠️ Metoder: Indbyggede metoder som keys(), values() og items() hjælper dig med at arbejde med ordbøger.
  • Hurtigt opslag: Ordbøger giver hurtig adgang til værdier ved hjælp af deres nøgle.

Ordbog i Python

Hvad er en ordbog i Python?

A Ordbog i Python er den uordnede og foranderlige samling af dataværdier, der indeholder nøgle-værdi-par. Hvert nøgle-værdi-par i ordbogen kortlægger nøglen til dens tilknyttede værdi, hvilket gør den mere optimeret. En ordbog i python erklæres ved at omslutte en kommasepareret liste over nøgleværdi-par ved hjælp af krøllede klammeparenteser({}). Python Ordbog er klassificeret i to elementer: Nøgler og værdier.

  • Nøgler vil være et enkelt element
  • Værdier kan være en liste eller liste i en liste, tal osv.

Syntaks for Python ordbog

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

Ordbog er angivet i krøllede parenteser, inden for disse krøllede parenteser er nøgler og værdier erklæret. Hver nøgle er adskilt fra dens værdi med et kolon (:), mens kommaer adskiller hvert element.

Syntaks for Python ordbog

Egenskaber for ordbogsnøgler

Der er to vigtige punkter, når du bruger ordbogsnøgler

  • Mere end én indtastning pr. nøgle er ikke tilladt (ingen dubletnøgle er tilladt)
  • Værdierne i ordbogen kan være af enhver type, mens tasterne skal være uforanderlige ligesom tal, tupler
  • Ordbogsnøgler skelner mellem store og små bogstaver - Samme nøglenavn, men med de forskellige tilfælde behandles som forskellige nøgler i Python ordbøger.

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 ordbogsnavnet "Dict"
  • Vi erklærede navnet og alderen på personen i ordbogen, hvor navnet er "Nøgler" og alder er "værdien"
  • Kør nu koden
  • Den henter tiffanys alder fra ordbogen.

Python Ordbogsmetoder

Kopiering af ordbog

Du kan også kopiere hele ordbogen til en ny ordbog. For eksempel har vi her kopieret vores originale ordbog til det nye ordbogsnavn "Drenge" og "Piger".

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 ordbog (Dict) med navn og alder på drengene og pigerne sammen
  • Men vi vil have en drengeliste adskilt fra en pigeliste, så vi definerede elementet af drenge og piger i et separat ordbogsnavn "Drenge" og "Piger."
  • Nu har vi igen lavet et nyt ordbogsnavn "elev X" og "elev Y", hvor alle nøglerne og værdierne i drengeordbogen er kopieret ind i elev X, og pigerne vil blive kopieret i elev Y
  • Så nu behøver du ikke at kigge i hele listen i hovedordbogen( Dict) for at tjekke hvem der er en dreng og hvem der er pige, du skal bare udskrive elev X hvis du vil have drengeliste og StudentY hvis du vil have pigeliste
  • Så når du kører elev X og studentY ordbog, vil den give alle de elementer, der findes i ordbogen over "drenge" og "piger" separat

Opdatering af ordbog

Du kan også opdatere en ordbog ved at tilføje en ny post eller et nøgle-værdi-par til en eksisterende post eller ved at slette en eksisterende post. Her i eksemplet vil vi tilføje et andet navn, "Sarah" til vores eksisterende ordbog.

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)
  • Vores eksisterende ordbog "Dict" har ikke navnet "Sarah."
  • Vi bruger metoden Dict.update til at tilføje Sarah til vores eksisterende ordbog
  • Kør nu koden, den tilføjer Sarah til vores eksisterende ordbog

Slet nøgler fra ordbogen

Python ordbog giver dig frihed til at slette ethvert element fra ordbogslisten. Antag, at du ikke vil have navnet Charlie på listen, så du kan fjerne nøgleelementet 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 kører denne kode, bør den udskrive ordbogslisten uden Charlie.

  • Vi brugte koden del Dict
  • Når koden er udført, har den slettet Charlie fra hovedordbogen

Ordbogsartikler() Metode

items()-metoden returnerer en liste over tupelpar (nøgler, værdi) i ordbogen.

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 bruger metoden code items() til vores Dict.
  • Når koden blev udført, returnerer den en liste over elementer (nøgler og værdier) fra ordbogen

Tjek, om en given nøgle allerede findes i en ordbog

For en given liste kan du også kontrollere, om vores børneordbog findes i hovedordbogen eller ej. Her har vi to underordbøger "Drenge" og "Piger", nu vil vi kontrollere, om vores ordbog Drenge findes i vores primære "Dict" eller ej. Til det bruger 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)
  • forloop i kode tjekker hver tast i hovedordbogen for drengenøgler
  • Hvis det findes i hovedordbogen, skal det udskrives sandt, ellers skal det udskrives falsk
  • Når du udfører koden, vil den udskrive "True" tre gange, da vi har tre elementer i vores "Boys"-ordbog
  • Så det indikerer, at "drengene" findes i vores hovedordbog (Dict)

Sortering af ordbogen

I ordbogen kan du også sortere elementerne. For eksempel, hvis vi ønsker at udskrive navnet på elementerne i vores ordbog alfabetisk, skal vi bruge for en løkke. Det vil sortere hvert element i ordbogen i overensstemmelse hermed.

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ærede variablen elever til vores ordbog "Dict."
  • Så bruger vi koden Students.sort, som vil sortere elementet inde i vores ordbog
  • Men for at sortere hvert element i ordbogen kører vi for en løkke ved at erklære variabel S
  • Når vi nu udfører koden, vil for-løkken kalde hvert element fra ordbogen, og det vil udskrive strengen og værdien i en rækkefølge

Python Ordbogs indbyggede funktioner

Ordbog len() Metode

Funktionen len() angiver antallet af par i ordbogen.

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)-funktionen udføres, giver den output ved "4", da der er fire elementer i vores ordbog

Variable typer

Python kræver ikke eksplicit at deklarere reservehukommelsespladsen; det sker automatisk. Tildelingsværdierne til variablen "=" lighedstegn bruges. Koden til at 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))
  • Brug koden %type for at kende variabeltypen
  • Når koden blev udført, fortæller den, at en variabeltype er en ordbog

Python Liste cmp() metode

Sammenligningsmetoden cmp() bruges i Python at sammenligne værdier og nøgler i to ordbøger. Hvis metoden returnerer 0 hvis begge ordbøger er ens, 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 ordbogsnavne, "Drenge" og "Piger."
  • Uanset hvad du erklærer først i koden "cmp(Girls, Boys)" vil blive betragtet som ordbog 1. I vores tilfælde erklærede vi "Girls" først, så det vil blive betragtet som ordbog 1 og drenge som ordbog 2
  • Når koden udføres, udskriver den -1. Det indikerer, at vores ordbog 1 er mindre end ordbog 2.

Ordbog Str(dict)

Med Str()-metoden kan du lave en ordbog til et udskrivbart 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))
  • Brug koden % str (Dict)
  • Det vil returnere ordbogselementerne til et udskrivbart strengformat

Her er listen over alle ordbogsmetoder

Metode Beskrivelse Syntaks
kopi() Kopier hele ordbogen til ny ordbog dict.copy()
opdater () Opdater en ordbog ved at tilføje en ny post eller et nøgle-værdi-par til en eksisterende post eller ved at slette en eksisterende post. Dict.update([other])
varer () Returnerer en liste over tupelpar (nøgler, værdi) i ordbogen. dictionary.items()
sortere() Du kan sortere elementerne dictionary.sort()
len () Angiver antallet af par i ordbogen. len (dict)
cmp() Sammenlign værdierne og nøglerne i to ordbøger cmp(dikt1, dikt2)
Str() Lav en ordbog til et udskrivbart strengformat Str(dikt)

Sammenlægning af ordbøger

Her vil du forstå, hvordan du flette to givne ordbøger til en enkelt ordbog.

Jeg har to ordbøger som vist nedenfor:

Ordbog1 : min_dikt1

my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}

Ordbog 2 : min_dikt2

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

Lad os flette begge disse ordbøger my_dict1 og my_dict2 og skabe en enkelt ordbog med namemy_dict.

Flet to ordbøger ved hjælp af update()-metoden

Update()-metoden hjælper os med at flette en ordbog med en anden. I eksemplet vil vi opdatere my_dict1 med my_dict2. Efter brug af update()-metoden vil my_dict1 have indholdet af 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)

Output:

{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}

Sammenlægning af ordbøger ved hjælp af **-metoden (Fra Python 3.5 og frem)

Den ** hedder Kwargs in Python, og det vil fungere med Python version 3.5+. Ved at bruge ** kan vi flette to ordbøger, og det vil returnere den flettede ordbog. Brug af ** foran variablen vil erstatte variablen med alt dens indhold.

Her er et fungerende eksempel på brug af ** til at flette to mapper.

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)

Output:

{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}

Ordbogs medlemsprøve

Du kan teste, om en nøgle i nuet i en ordbog eller ej. Denne test kan kun udføres på nøglen til en ordbog og ikke værdien. Medlemstesten udføres ved hjælp af in søgeord. Når du tjekker nøglen i ordbogen ved hjælp af in nøgleord, returnerer udtrykket sand, hvis nøglen er til stede, og falsk, hvis ikke.

Her er et eksempel, der viser medlemsskabstest på en ordbog.

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)

Output:

True
True
False

Ofte Stillede Spørgsmål

En ordbog gemmer data som nøgle-værdi-par, der tilgås via nøgler, mens en liste gemmer ordnede elementer, der tilgås via et numerisk indeks. Brug ordbøger til mærkede opslag og lister til ordnede sekvenser.

Nej. Nøgler i en ordbog skal være unikke. Hvis du tildeler en værdi til en eksisterende nøgle, erstatter den nye værdi den gamle. Værdier kan dog gentages frit på tværs af forskellige nøgler.

Siden Python 3.7, ordbøger bevarer indsættelsesrækkefølgen, så elementer returneres i den rækkefølge, du tilføjede dem. Tidligere versioner garanterede ikke dette, så ældre kode bør ikke være afhængig af rækkefølge.

Brug en for-løkke. Seping over ordbogen giver direkte sine nøgler; brug .values() til at læse værdier og .items() til at udpakke nøgle-værdi-par sammen, som i: for key, value i my_dict.items().

En ordbogsforståelse opbygger en ordbog på én linje fra en iterabel ordbog ved hjælp af syntaksen {key: value for item in iterable}. For eksempel opbygger {x: x*x for x in range(5)} en kvadratordbog.

Ordbøger gemmer konfigurationsindstillinger, hyperparametre, ordtællinger og funktionskortpingMange biblioteker returnerer resultater som ordbøger, og JSON indlæses direkte i dem, hvilket gør dem centrale for at organisere mærkede data i AI og maskinlæring.

Ja. AI-assistenter kan omdanne CSV-rækker, JSON eller almindelig tekst til brugsklar ordbogskode og foreslå en fornuftig nøglestruktur. De hjælper også med at omforme ordbøger og hurtigt foretage fejlfinding af nøgler.

Ja. GitHub Copilot kan generere ordbogsliteraler, forståelser og opslag fra en kommentar eller et funktionsnavn, mens agentværktøjer omstrukturerer gentaget kode til ordbøger. Gennemgå altid forslagene for korrekte nøgler og kanttilfælde.

Opsummer dette indlæg med: