In Python kann man mit Dictionaries Schlüssel / Werte Paare erstellen und diese zu einer Liste zusammenführen.
Definieren eines Dictionaries
Ein Dictionarie wird wie folgt definiert:
obst = {"Apfel":"gruen", "Pflaume":"lila", "Kirsche":"rot"}
Wir sehen das dieses Konstrukt ähnlich einer Liste ist, nur das wir eine geschweifte Klammer verwenden.
Zwischen dem Schlüssel (engl. Key) und dem Wert (engl. Value) befindet sich ein Doppelpunkt, jedes Schlüssel / Wertepaar ist durch ein Komma getrennt.
Als Wert kann man einen beliebigen Datentyp wählen Bsp. kann man ein Dictionary mit Personendaten erzeugen:
personen = { "Familie Mustermann": { "Vater": {"Vorname": "Max", "Nachname": "Mustermann", "Alter": 56}, "Mutter": {"Vorname": "Erika", "Nachname": "Mustermann", "Alter": 53}, "Kinder": [ {"Vorname": "Franz", "Nachname": "Mustermann", "Alter": 13}, {"Vorname": "Melanie", "Nachname": "Mustermann", "Alter": 4} ] } }
In diesem Beispiel habe ich nun ein Dictionarie aufgebaut und dort eine Struktur mit Personendaten zur Familie Mustermann erzeugt. Diese Struktur enthält Zeichenketten, eine Liste mit weiteren Dictoraries usw. man sieht also, man kann dieses beliebig tief verschachteln.
Zugriff auf die Elemente
Wollen wir nun auf ein Element zugreifen, so können wir dieses über den Schlüssel erledigen:
print(obst["Apfel"])
Es wird nun die Farbe ausgegeben:
gruen
Wenn jedoch das Element nicht existiert, so erhalten wir in diesem Fall einen „Error“ und das Skript / Programm wird beendet.
obst = {"Apfel":"gruen", "Pflaume":"lila", "Kirsche":"rot"} print(obst) print(obst["Afpel"])
{'Apfel': 'gruen', 'Pflaume': 'lila', 'Kirsche': 'rot'} --------------------------------------------------------------------------- KeyError Traceback (most recent call last) <ipython-input-15-02ad3e90359f> in <module>() 1 obst = {"Apfel":"gruen", "Pflaume":"lila", "Kirsche":"rot"} 2 print(obst) ----> 3 print(obst["Afpel"]) KeyError: 'Afpel'
In diesem Beispiel habe ich mich nur bei dem Wort „Apfel“ verschrieben.
Um hier den Quellcode etwas Robuster zu schreiben, können wir mit der Funktion „get“ auf dem Dictionarie arbeiten.
obst = {"Apfel":"gruen", "Pflaume":"lila", "Kirsche":"rot"} print(obst) print(obst.get("Afpel"))
Hier erhalten wir nun als Rückgabewert ein:
None
Nun sollten wir als Nächstes prüfen, ob denn der Rückgabewert ungleich „None“ ist oder aber in eine Fehlerbehandlung einsteigen.
Löschen von Elementen
Möchten wir ein Element aus diese Liste löschen, so verwenden wir den Befehl „del“.
del obst["Kirsche"] print(obst)
Die Ausgabe wäre dann wiefolgt:
{'Apfel': 'gruen', 'Pflaume': 'lila'}
Hinzufügen von Elementen
Neben dem löschen kann man auch nachträglich beliebig viele Elemente dem Dictionarie hinzufügen.
Dazu muss man „nur“ einen neuen Schlüssel definieren und diesem einen Wert zuweisen.
obst["Birne"] = "gelb" print(obst)
Die Ausgabe ist dann:
{'Apfel': 'gruen', 'Pflaume': 'lila', 'Birne': 'gelb'}
Aber Achtung, wenn dieser Schlüssel bereits besteht wird der Wert überschrieben!
obst["Birne"] = "gelb" print(obst) obst["Birne"] = "orange" print(obst)
Die Ausgabe:
{'Apfel': 'gruen', 'Pflaume': 'lila', 'Birne': 'gelb'} {'Apfel': 'gruen', 'Pflaume': 'lila', 'Birne': 'orange'}
1 thought on “Python #12: Arbeiten mit Dictionaries”