Python #12: Arbeiten mit Dictionaries

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:

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 zbsp. kann man ein Dictionary mit Personendaten erzeugen:

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:

Es wird nun die Farbe ausgegeben:

Wenn jedoch das Element nicht existiert, so erhalten wir in diesem Fall einen „Error“ und das Skript / Programm wird beendet.

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.

Hier erhalten wir nun als Rückgabewert ein:

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“.

Die Ausgabe wäre dann wiefolgt:

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.

Die Ausgabe ist dann:

Aber Achtung, wenn dieser Schlüssel bereits besteht wird der Wert überschrieben!

Die Ausgabe:

 

 

 

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.