Das Python Dictionary wird genutzt, um Schlüssel-Wert-Paare in einer Variablen speichern zu können. Es ist eines von insgesamt vier Datenstrukturen, die bei Python bereits vorinstalliert sind. Neben dem Dictionary zählen dazu auch das Tuple, das Set und die Liste.
Ein Python Dictionary definieren wir, indem wir das Key-Value Paar in geschweiften Klammern und mit Doppelpunkt getrennt schreiben. Wir können in einem Python Dictionary Elemente mit unterschiedlichen Datentypen speichern.

Die Elemente des Dictionaries können wir unter Angabe des Schlüssels in eckigen Klammern abfragen. Dann erhalten wir den entsprechenden Wert, der für diesen Schlüssel gespeichert wurde.
Was sind grundlegende Eigenschaften eines Python Dictionaries?
Seit der Python Version 3.7 ist das Dictionary geordnet. Das heißt, dass auch die Reihenfolge in der wir die Schlüssel-Wert-Paare abspeichern eine Rolle spielt. In den Versionen davor hat die Reihenfolge im Gegensatz dazu keine Bedeutung. Darüber hinaus ist das Python Dictionary auch änderbar, d.h. nachdem es erstellt wurde können Elemente geändert, hinzugefügt oder aus dem Dictionary gelöscht werden.
Die wichtigste Eigenschaft des Dictionaries ist, dass keine doppelten Schlüssel-Wert-Paare erlaubt sind. In anderen Datenformaten in Python sind doppelte Elemente hingegen erlaubt. Wenn wir dem Python Dictionary ein Schlüssel-Wert-Paar hinzufügen wollen, dessen Schlüssel bereits existiert, wird das alte Paar ohne Benachrichtigung überschrieben.

Wie kann man Elemente abfragen?
Es gibt verschiedene Informationen und Elemente, die wir von einem Dictionary abfragen können.
Wie wir bereits gesehen haben, können wir den Wert abfragen, indem wir den zugehörigen Schlüssel in eckigen Klammern definieren. Analog dazu liefert die „get()“ Methode dasselbe Ergebnis:

Mit den Befehlen „.keys()“ und „.values()“ gibt uns Python eine Liste von allen Schlüsseln und Werten zurück. Die Reihenfolge der Listen entspricht auch der, wie sie im Dictionary gespeichert sind. Das bedeutet auch, dass die Liste der Werte Duplikate enthalten kann.

Wenn wir hingegen die vollständigen Schlüssel-Wert-Paare abfragen wollen, nutzen wir die Methode „.items()“, die die Paare als eine Liste von Tupeln zurückgibt:

Wie können Elemente eines Dictionaries geändert werden?
Wenn wir einzelne Werte innerhalb des Dictionaries ändern wollen, können wir das über den Schlüssel direkt tun. Da es keine doppelten Schlüssel geben darf, wird der alte Werte einfach überschrieben. Falls wir mehrere Paare auf einmal ändern wollen, nutzen wir dafür die „.update()“ Methode und definieren darin die neuen Schlüssel-Werte-Paare.

Wie kann man Elemente löschen?
Wenn wir ein einzelnes Element aus dem Python Dictionary löschen wollen, können wir entweder unter Angabe des Keys und mit der Methode „pop()“ das Element gezielt löschen oder mit „popitem()“ das letzte hinzugefügte Schlüssel-Wert Paar löschen:

Schließlich kann man mit der Methode „clear()“ das komplette Python Dictionary leeren:

Was ist der Unterschied zwischen einer Pandas Series und einem Python Dictionary?
Obwohl sowohl Pandas Series als auch Python Dictionaries Schlüssel-Wert-Paare sind, gibt es einige wichtige Unterschiede zwischen ihnen:
- Indizierung: In einer Pandas-Serie können wir einen benutzerdefinierten Index verwenden, der nicht numerisch oder sequentiell sein muss. Im Gegensatz dazu kann ein Python-Dictionary nur hashbare Objekte als Schlüssel verwenden.
- Ordnung: Eine Pandas-Serie ist eine geordnete Sammlung von Daten, während ein Python Dictionary ungeordnet ist.
- Datentyp: Eine Pandas-Reihe hat einen bestimmten Datentyp, der für alle Elemente in der Reihe gilt, während ein Python Dictionary Werte unterschiedlichen Typs für jeden Schlüssel haben kann.
- Funktionen: Eine Pandas-Serie hat eingebaute Funktionen zur Datenmanipulation und -analyse, wie „describe()“, „mean()“ und „count()“. Python Dictionaries hingegen haben keine eingebauten Funktionen zur Datenmanipulation oder -analyse.
- Speicherverbrauch: Eine Pandas-Serie benötigt mehr Speicher als ein Python Dictionary, da sie Daten in einem Tabellenformat mit einem Index und Spaltenbeschriftungen speichert. Im Gegensatz dazu speichert ein Python Dictionary nur Schlüssel-Wert-Paare.
Insgesamt ist eine Pandas-Reihe eine spezialisierte Datenstruktur, die für die Datenanalyse und -manipulation konzipiert ist, während ein Python Dictionary eine allgemeine Datenstruktur für die Speicherung von Schlüssel-Wert-Paaren ist.
Welche Python Sammlungen gibt es?
In Python gibt es insgesamt vier Datentypen, die standardmäßig hinterlegt sind:
- Die Liste ist eine geordnete Sammlung von Elementen, die änderbar ist und auch doppelte Elemente enthalten kann.
- Das Tuple ist im Endeffekt eine Liste, mit dem Unterschied, dass es nicht mehr änderbar ist. Es können also keine Elemente mehr nachträglich hinzugefügt oder entfernt werden.
- Das Set lässt keine doppelten Einträge zu. Gleichzeitig ist die Anordnung der Elemente innerhalb des Sets variabel. Das Set an sich kann verändert werden, aber die einzelnen Elemente können nicht nachträglich geändert werden.
- Ein Dictionary ist seit der Python Version 3.7 eine geordnete Sammlung von Elementen, die änderbar ist. In den früheren Versionen ist das Dictionary ungeordnet.
Das solltest Du mitnehmen
- Das Python Dictionary ist eines von insgesamt vier vorinstallierten Datenstrukturen in Python.
- Es wird genutzt, um Schlüssel-Wert-Paare in einer einzigen Variablen abspeichern zu können.
- Die Werte eines Dictionaries können verschiedene Werte annehmen. Neben einem einzigen Skalar können auch Lists, Tuples oder neue Dictionaries als Wert abgespeichert werden.
Vielen Dank an Deepnote für das Sponsoring dieses Artikels! Deepnote bietet mir die Möglichkeit, Python-Code einfach und schnell auf dieser Website einzubetten und auch die zugehörigen Notebooks in der Cloud zu hosten.
Andere Beiträge zum Thema Python Dictionary
- w3schools bietet ausführliche Beispiele zu Python Dictionaries mit der Möglichkeit auch online Codeschnipsel direkt ausführen zu können.