Man kan også lagre flere værdier i Python med dictionaries. Dictionaries består af en række sæt af nøgler og værdier.
Dictionaries defineres med {}
:
my_dict = {"jedi": "Katarn", "sith": "Desann"}
Hvert nøgle- og værdisæt defineres med en nøgle i form af en string efterfulgt af værdien efter :
. Værdien kan være tal, tekst, liste, en anden dictionary osv.
De forskellige nøgle- og værdisæt adskilles med ,
.
Dictionaries har ikke et index, da Python ikke betragter dem som værende i en bestemt rækkefølge. Værdierne kaldes derfor frem ved at referere til deres nøgle:
print(my_dict["jedi"])
Katarn
Nøgler skal være unikke. Det er ikke muligt at lave en dictionary med to identiske nøgler. Hvis man forsøger at gøre det, vil den senest skrevne værdi til nøglen blive lagret:
my_dict = {"jedi": "Katarn", "sith": "Desann", "jedi": "Kenobi"}
print(my_dict)
{'jedi': 'Kenobi', 'sith': 'Desann'}
Ligeledes kan værdier til en bestemt nøgle overskrives:
my_dict["jedi"] = "Katarn"
print(my_dict)
{'jedi': 'Katarn', 'sith': 'Desann'}
Elementer kan tilføjes til en dictionary ved blot at tilknytte det til en nøgle, som endnu ikke er brugt i dictionarien:
my_dict["dealer"] = "Watto"
print(my_dict)
{'jedi': 'Katarn', 'sith': 'Desann', 'dealer': 'Watto'}
Kan en dictionary indeholde forskellige typer af værdier?
Tag et kig på nedenstående dictionary:
famous_animals = {"Pluto": "dog", "Oggy": "cat", "Pinky": "mouse", "Pumba": "warthog"}
Hvordan fremkaldes den 3. værdi (“mouse”)?