# Python Dictionary: Wie funktionieren die assoziativen Listen?

In der [Internet-Programmiersprache](https://www.ionos.at/digitalguide/websites/web-entwicklung/internet-programmiersprachen/ "Internet-Programmiersprachen") Python ist das Dictionary ein wichtiger Datentyp, mit dem Begriffe und Bedeutungen miteinander verknüpft werden können. Durch die Verwendung von Schlüssel-Wert-Paaren lassen sich so viele **Tabellen, Datenerhebungen oder Bestände erstellen**. Ein Python Dictionary kann auch mit [Python-for-Loops](https://www.ionos.at/digitalguide/websites/web-entwicklung/for-loop-in-python/ "For-Loop in Python"), [Python-if-else-Anweisungen](https://www.ionos.at/digitalguide/websites/web-entwicklung/python-if-else/ "Python: if-else") und [Python-while-Schleifen](https://www.ionos.at/digitalguide/websites/web-entwicklung/python-while-loop/ "Python While-Loop") verwendet werden.

## Was ist ein Python Dictionary?

Bei einem Python Dictionary handelt es sich um einen Datentyp, der Begriffe und Bedeutungen miteinander verknüpft. In dieser Struktur können **Schlüssel (keys) und Werte (values) miteinander verbunden**, gespeichert und später wieder abgerufen werden. Während die Übersetzung „assoziative Liste“, die manchmal im deutschen Sprachgebrauch für ein Python Dictionary gebraucht wird, eher sperrig ist, führt das simple „Wörterbuch“ auf die richtige Spur. Wie in einem Wörterbuch, in dem ein Begriff mit einer dazugehörigen Erläuterung oder Übersetzung verbunden ist, wird auch in einem Python Dictionary eine Zuordnungstabelle erstellt, die keine Duplikate enthalten darf. Jeder Schlüssel kommt somit nur einmal vor.

## Python Dictionary: Aufbau und Abfrage

Ein Python Dictionary wird immer von geschweiften Klammern eingefasst. Der Schlüssel und sein dazugehöriger Wert werden durch einen Doppelpunkt miteinander verbunden und die so entstehenden Paare durch Kommata voneinander getrennt. Ein Python Dictionary darf dabei theoretisch beliebig viele Schlüssel-Wert-Paare enthalten. Der Schlüssel wird wiederum in Anführungszeichen gesetzt. Die Schreibweise kennen Sie sicher bereits aus einem [Python-Tutorial](https://www.ionos.at/digitalguide/websites/web-entwicklung/python-tutorial/ "Python-Tutorial"). Sie sieht beispielsweise so aus:

```none
{ "Key_1" : Value, "Key_2" : Value, "Key_3" : Value }
```

Ausgelesen wird das Python Dictionary, indem man den richtigen Schlüssel in eckige Klammern setzt. Hier die Schreibweise im Code:

```none
dictionary [ key ]
```

## Beispiel für ein Python Dictionary

Mit einem einfachen Beispiel lassen sich Aufbau und Funktionsweise des Python Dictionary gut erläutern. Im folgenden Aufbau sollen Länder und Hauptstädte zugeordnet und ausgegeben werden. Dabei sieht das Python Dictionary so aus:

```none
hauptstadt = { "England" : "London", "Frankreich" : "Paris", "Deutschland" : "Berlin" }
```

Möchten Sie jetzt ein bestimmtes Element abfragen, nutzen Sie dafür die eckigen Klammern:

```none
print ( hauptstadt [ "Frankreich" ] )
```

Die Ausgabe wäre in diesem Fall der Wert, der zum Key "Frankreich" gehört, also "Paris".

### Alternativer Aufbau

Alternativ können Sie ein Python Dictionary auch ohne Inhalt aufbauen und dann füllen. Dafür wird zunächst immer ein leeres Python Dictionary erstellt, das so aussieht:

```none
hauptstadt = { }
```

Nun füllen Sie das Dictionary:

```none
hauptstadt = { }
hauptstadt [ "England" ] = "London"
hauptstadt [ "Frankreich" ] = "Paris"
hauptstadt [ "Deutschland" ] = "Berlin"
```

Wenn Sie jetzt das Python Dictionary "hauptstadt" abfragen, erhalten Sie als Ausgabe:

```none
{ "England" : "London", "Frankreich" : "Paris", "Deutschland" : "Berlin" }
```

## Python Dictionary nachträglich ändern

Sie können Ihr Python Dictionary auch nachträglich verändern. Um beispielsweise Schlüssel-Wert-Paare hinzuzufügen (engl. „append“), schreiben Sie:

```none
hauptstadt [ "Italien" ] = "Rom" print ( hauptstadt )
```

Die passende Ausgabe lautet nun:

```none
{ "England" : "London", "Frankreich" : "Paris", "Deutschland" : "Berlin", "Italien" : "Rom" }
```

Möchten Sie einen Wert innerhalb eines Schlüssel-Wert-Paares ändern, nutzen Sie den folgenden Code:

```none
hauptstadt = { "England" : "London", "Frankreich" : "Paris", "Deutschland" : "Berlin", "Italien" : "???" }
hauptstadt [ "Italien" ] = "Rom" print ( hauptstadt )
```

Die Ausgabe lautet dann erneut:

```none
{ "England" : "London", "Frankreich" : "Paris", "Deutschland" : "Berlin", "Italien" : "Rom" }
```

## Schlüssel-Wert-Paare aus dem Python Dictionary entfernen

Um nachträglich ein Schlüssel-Wert-Paar aus dem Python Dictionary zu entfernen, gibt es drei Möglichkeiten: del, pop und popitem.

### Entfernen mit del

Für die del-Methode eignet sich als Beispiel eine einfache Bestandsaufnahme. Nehmen wir dazu an, dass eine Bäckerei zur Geschäftsöffnung 100 Brötchen, 25 Brote und 20 Croissants anbietet. Das entsprechende Python Dictionary sähe dann so aus:

```none
bestand = { "Brötchen" : 100, "Brote" : 25, "Croissants" : 20 }
```

Verkauft die Bäckerei nun alle Croissants und will sie aus ihrer Auflistung löschen, nutzt sie dafür den del-Befehl:

```none
del bestand [ "Croissants" ]
print bestand
{ "Brötchen" : 100, "Brote" : 25 }
```

Bei dieser Methode müssen Sie allerdings darauf achten, dass Sie den del-Befehl immer in Verbindung mit einem Schlüssel-Wert-Paar verwenden. Ansonsten wird das gesamte Python Dictionary gelöscht. Dies ist ein [Python-Problem](https://www.ionos.at/digitalguide/websites/web-entwicklung/behebung-haeufiger-python-probleme/ "Behebung häufiger Python-Probleme"), das relativ häufig auftritt.

### Entfernen mit pop

Die zweite Möglichkeit, um Schlüssel-Wert-Paare aus einem Python Dictionary zu entfernen, ist pop. Damit speichern Sie den entfernten Wert in einer neuen Variablen. Das funktioniert wie folgt:

```none
zahlenreihe = { "Eins" : 1, "Zwei" : 2, "Drei" : 3, "Vier" : 4 }
gelöscht = zahlenreihe.pop ( "2" )
print ( "Die gelöschte Zahl lautet: ", gelöscht )
print ( "Die neue Zahlenreihe lautet: ", zahlenreihe )
```

Die Ausgabe sieht dann so aus:

```none
Die gelöschte Zahl lautet: 2
Die neue Zahlenreihe lautet: { "Eins" : 1, "Drei" : 3, "Vier" : 4 }
```

### Entfernen mit popitem

Mit popitem entfernen Sie das letzte Schlüssel-Wert-Paar aus Ihrem Python Dictionary. Dies ist der passende Code:

```none
letzte_zahl = zahlenreihe.popitem( )
print ( letzte_zahl )
print ( zahlenreihe )
```

Ihre Ausgabe sieht dann so aus:

```none
( "Vier" : 4 )
{ "Eins" : 1, "Zwei" : 2, "Drei" : 3 }
```

( "Vier" : 4 )

{ "Eins" : 1, "Zwei" : 2, "Drei" : 3 }

## Weitere Methoden für das Python Dictionary

Es gibt einige weitere Methoden, die mit einem Python Dictionary funktionieren. Hier eine Auflistung der wichtigsten Optionen:

<table>
  <thead>
    <tr>
      <th>Methode</th>
      <th>Beschreibung</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Clear</td>
      <td>Mit clear werden alle Schlüssel-Wert-Paare aus dem Python Dictionary entfernt.</td>
    </tr>
    <tr>
      <td>Copy</td>
      <td>copy legt eine Kopie des Dictionarys im Speicher an.</td>
    </tr>
    <tr>
      <td>Get</td>
      <td>Mit get wird der Wert über die Eingabe des Schlüssels ermittelt.</td>
    </tr>
    <tr>
      <td>Keys</td>
      <td>Mit keys lesen Sie die Schlüssel Ihres Dictionarys aus.</td>
    </tr>
    <tr>
      <td>Update</td>
      <td>Mit update erweitern Sie ein Python Dictionary um ein weiteres. Bei doppelten Schlüsseln werden diese im angehängten Dictionary überschrieben.</td>
    </tr>
    <tr>
      <td>Values</td>
      <td>Mit values fragen Sie alle Werte Ihres Dictionarys ab.</td>
    </tr>
  </tbody>
</table>


This is a markdown version of: [https://www.ionos.at/digitalguide/websites/web-entwicklung/python-dictionary/](https://www.ionos.at/digitalguide/websites/web-entwicklung/python-dictionary/) for AI/LLM consumption.