Vad är en dictionary?

En dictionary (eller ordbok) sparar nyckel–värde-par, till skillnad från listor som bara har index.

elev = {
    "namn": "Ali",
    "ålder": 16,
    "klass": "TE24"
}

print(elev["namn"])  # Skriver ut 'Ali'

Vanliga metoder för dictionaries

OperationFörklaringExempel
Lägg till/ändra värdeSkapar nyckel eller ändrar värdeelev["skola"] = "Grillska"
Ta bort nyckelRaderar ett elementdel elev["klass"]
Få alla nycklarReturnerar lista över nycklarelev.keys()
Få alla värdenReturnerar lista över värdenelev.values()
Loop genom dictionaryLoopar alla nyckel–värde-parfor k, v in elev.items():

Exempel:

# Lägg till eller ändra
elev["skola"] = "Grillska"

# Ta bort
del elev["klass"]

# Loopa genom ordboken
for nyckel in elev:
    print(nyckel, "→", elev[nyckel])

Kombinera listor och dictionaries

I Python kan vi kombinera listor och dictionaries för att skapa mer avancerade datastrukturer. Ett vanligt exempel är att ha en lista där varje element är en ordbok med information om t.ex. en person:

klass = [
    {"namn": "Ali", "ålder": 16},
    {"namn": "Sara", "ålder": 17},
    {"namn": "Jonas", "ålder": 15}
]

För att skriva ut all information kan du använda en for-loop och komma åt varje fält med nycklarna i ordboken:

for elev in klass:
    print(elev["namn"], "är", elev["ålder"], "år")