Ordbog i Python med syntaks og eksempel
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.
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": "[email protected]", "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": "[email protected]", "location":"Mumbai"}
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
my_dict1.update(my_dict2)
print(my_dict1)
Output:
{'username': 'XYZ', 'email': '[email protected]', '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": "[email protected]", "location":"Mumbai"}
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
my_dict = {**my_dict1, **my_dict2}
print(my_dict)
Output:
{'username': 'XYZ', 'email': '[email protected]', '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": "[email protected]", "location":"Mumbai"}
print("email" in my_dict)
print("location" in my_dict)
print("test" in my_dict)
Output:
True True False
Resumรฉ
- Ordbรธger i et programmeringssprog er en type datastruktur, der bruges til at lagre information forbundet pรฅ en eller anden mรฅde.
- Python Ordbog er defineret i to elementer Nรธgler og Vรฆrdier.
- Ordbรธger gemmer ikke deres oplysninger i nogen bestemt rรฆkkefรธlge, sรฅ du fรฅr muligvis ikke dine oplysninger tilbage i samme rรฆkkefรธlge, som du indtastede dem.
- Nรธgler vil vรฆre et enkelt element
- Vรฆrdier kan vรฆre en liste eller liste i en liste, tal osv.
- 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 som tal, tupler eller strenge.
- 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.

