Python Dictionary

Dictionary (Dictionary)

Dictionary er en uordnet, ændrbar og indekserbar samling. I Python skrives dictionary med klammer, og de har nøgler og værdier.

Eksempel

Opret og print dictionary:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
print(thisdict)

Kør Eksempel

Få adgang til element

Du kan få adgang til dictionaryens elementer ved at referere til deres nøgle i klammerne:

Eksempel

Få værdien for nøglen "model":

x = thisdict["model"]

Kør Eksempel

Der er også en get() Metoden vil give dig samme resultat:

Eksempel

Få værdien for nøglen "model":

x = thisdict.get("model")

Kør Eksempel

Ændr værdi

Du kan ændre værdien af et specifikt element ved at referere til dens nøgle

Eksempel

Ændr "year" til 2019:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict["year"] = 2019

Kør Eksempel

gennemgå dictionary'en

Du kan bruge for Gennemgå dictionary'en i en løkke.

Når du gennemgår dictionary'en i en løkke, returnerer værdien nøglen, men der er også en metode til at returnere værdien.

Eksempel

Print alle nøglenavne i dictionary'en en ad gangen:

for x in thisdict:
  print(x)

Kør Eksempel

Eksempel

Print alle værdier i dictionary'en en ad gangen:

for x in thisdict:
  print(thisdict[x])

Kør Eksempel

Eksempel

Du kan også bruge values() Funktionen returnerer dictionaryens værdier:

for x in thisdict.values():
  print(x)

Kør Eksempel

Eksempel

Gennem brug af items() funktionen kan du gennemgå nøgler og værdier:

for x, y in thisdict.items():
  print(x, y)

Kør Eksempel

Tjek om nøgle findes

For at bestemme, om en bestemt nøgle findes i en dictionary, brug in Nøgleord:

Eksempel

Tjek om "model" findes i dictionary'en:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
if "model" in thisdict:
  print("Ja, 'model' er en af nøglerne i thisdict-dictionary'et")

Kør Eksempel

Dictionary længde

For at bestemme, hvor mange elementer (nøgle-værdipar) der er i en dictionary, brug len() Metode.

Eksempel

Print antallet af elementer i dictionary'en:

print(len(thisdict))

Kør Eksempel

Tilføj element

Ved at bruge en ny nøgleindeks og tildelle en værdi, kan du tilføje elementer til en dictionary:

Eksempel

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict["color"] = "red"
print(thisdict)

Kør Eksempel

Slet element

Der er flere måder at slette elementer fra en dictionary på:

Eksempel

pop() metoden sletter elementet med den angivne nøgle

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict.pop("model")
print(thisdict)

Kør Eksempel

Eksempel

popitem() Metoden sletter det senest indsatte elementet (i versioner før 3.7, slet et tilfældigt element):

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict.popitem()
print(thisdict)

Kør Eksempel

Eksempel

Nøgleordet sletter elementet med den angivne nøglenavn: 关键字删除具有指定键名的项目:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict.popitem()}
print(thisdict)

Kør Eksempel

Eksempel

Nøgleordet sletter elementet med den angivne nøglenavn: del thisdict["model"]

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
del
Nøgleordet kan også fuldstændigt slette dictionaryet:

Kør Eksempel

Eksempel

clear() del thisdict

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
print(thisdict) #this vil føre til en fejl, fordi "thisdict" ikke længere eksisterer.
print(thisdict)

Kør Eksempel

Nøgleordet tømmer dictionaryet:

thisdict.clear() kopier dictionaryet kan ikke kopieres ved at indtastedict2 er kun en kopi dict1 citatet, mens dict1 ændringerne vil automatisk blive vist i dict2 i.

Der er flere måder at kopiere på, en måde er ved at bruge indbygget dictionarymetode copy()

Eksempel

Brug af copy() metoden til at kopiere dictionaryet:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
mydict = thisdict.copy()
print(mydict)

Kør Eksempel

En anden måde at lave en kopi af er ved at bruge indbygget metode dict()

Eksempel

Brug af dict() Metoden opretter en kopi af dictionaryet:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
mydict = dict(thisdict)
print(mydict)

Kør Eksempel

Indlejrede ordbøger

Ordbøger kan også indeholde mange ordbøger, dette kaldes indlejrede ordbøger.

Eksempel

Opret et dictionary, der indeholder tre dictionaryer:

myfamily = {
  "child1" : {
    "name" : "Phoebe Adele",
    "year" : 2002
  },
  "child2" : {
    "name" : "Jennifer Katharine",
    "year" : 1996
  },
  "child3" : {
    "name" : "Rory John",
    "year" : 1999
  }
}

Kør Eksempel

Eller hvis du vil bruge tre allerede eksisterende dictionaryer som indlejrede dictionaryer:

Eksempel

Opret tre dictionaryer, og opret derefter et dictionary, der indeholder de tre andre dictionaryer:

child1 = {
  "name" : "Phoebe Adele",
  "year" : 2002
}
child2 = {
  "name" : "Jennifer Katharine",
  "year" : 1996
}
child3 = {
  "name" : "Rory John",
  "year" : 1999
}
myfamily = {
  "child1" : child1,
  "child2" : child2,
  "child3" : child3
}

Kør Eksempel

dict() konstruktøren

Man kan også bruge dict() Konstruktøren opretter et nyt dictionary:

Eksempel

thisdict = dict(brand="Porsche", model="911", year=1963)
# Bemærk, nøgleord er ikke en strengligning
# Bemærk, brug af ligevægtstegn i stedet for kolon til tildeling
print(thisdict)

Kør Eksempel

Ordbogsmetoder

Python tilbyder en række indbyggede metoder, der kan bruges på ordbøger.

Metode Beskrivelse
clear() Fjern alle elementer fra ordbogen
copy() Returner en kopi af ordbogen
fromkeys() Returner ordbogen med den specificerede nøgle og værdi
get() Returner værdien for den specificerede nøgle
items() Returner en liste over tuple med hver nøgle-værdipar
keys() Returner en liste over ordbogens nøgler
pop() Fjern elementet med den specificerede nøgle
popitem() Fjern det sidst indsatte nøgle-værdipar
setdefault() Returner værdien for den specificerede nøgle. Hvis nøglen ikke findes, indsættes en nøgle med den specificerede værdi.
update() Opdater ordbogen med de specificerede nøgle-værdipar
values() Returner en liste over alle værdier i ordbogen