Zum Inhalt springen

Grundlagen für Python Dictionary

  • Python

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.

# Define a dictionary for the city of Berlin
this_city = {
    'city': 'Berlin',
    'country': 'Germany',
    'population': 3645000
}

# Query the population
print(this_city['population'])

Out: 
3645000

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.

Grundlegende Eigenschaften

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.

# Define a dictionary for the city of Berlin
this_city = {
    'city': 'Berlin',
    'country': 'Germany',
    'population': 3645000
}

# Set new value for the key 'country'
this_city['country'] = 'France'

# Query the country
print(this_city['country'])

Out: 
'France'

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:

# Define a dictionary for the city of Berlin
this_city = {
    'city': 'Berlin',
    'country': 'Germany',
    'population': 3645000
}

# Get value of key 'country'
print(this_city['country'])
print(this_city.get('country'))

Out:
'Germany'
'Germany'

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.

# Define a dictionary for the city of Berlin
this_city = {
    'city': 'Berlin',
    'country': 'Germany',
    'population': 3645000,
    'country_2': 'Germany'
}

# Get list of all keys
print(this_city.keys())
# Get list of all values
print(this_city.values())

Out:
dict_keys(['city', 'country', 'population', 'country_2'])
dict_values(['Berlin', 'Germany', 3645000, 'Germany'])

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:

# Define a dictionary for the city of Berlin
this_city = {
    'city': 'Berlin',
    'country': 'Germany',
    'population': 3645000
}

# Get all key-value pairs
print(this_city.items())

Out:
dict_items([('city', 'Berlin'), ('country', 'Germany'), ('population', 3645000)])

Dictionary Elemente ändern

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.

# Define a dictionary for the city of Berlin
this_city = {
    'city': 'Berlin',
    'country': 'Germany',
    'population': 3645000
}

# Change one key-value pair
this_city['city'] = 'Paris'

# Change multiple key-value pairs
this_city.update({'country': 'France', 'population': 2161000})

print(this_city)

Out:
{'city': 'Paris', 'country': 'France', 'population': 2161000}

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:

# Define a dictionary for the city of Berlin
this_city = {
    'city': 'Berlin',
    'country': 'Germany',
    'population': 3645000
}

# Delete element with key 'population'
this_city.pop('population')
print(this_city)

Out:
{'city': 'Berlin', 'country': 'Germany'}

# Define a dictionary for the city of Berlin
this_city = {
    'city': 'Berlin',
    'country': 'Germany',
    'population': 3645000
}

# Delete element with key 'population'
this_city.popitem()
print(this_city)

Out:
{'city': 'Berlin', 'country': 'Germany'}

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

# Define a dictionary for the city of Berlin
this_city = {
    'city': 'Berlin',
    'country': 'Germany',
    'population': 3645000
}

# Delete element with key 'population'
this_city.clear()
print(this_city)

Out:
{}

Python Sammlungen

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.

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.
close
Das Logo zeigt einen weißen Hintergrund den Namen "Data Basecamp" mit blauer Schrift. Im rechten unteren Eck wird eine Bergsilhouette in Blau gezeigt.

Verpass keine neuen Beiträge!

Wir versenden keinen Spam! Lies die Details gerne in unserer Datenschutzrichtlinie nach.

Schlagwörter:
Cookie Consent mit Real Cookie Banner