Dictionaries in Python#

Ein Dictionary (Wörterbuch) ist eine Sammlung von key-value Paaren (Schlüssel und Wert), d.h. „key:value“. Jeder Schlüssel muss eindeutig sein und wird für den Zugriff auf den zugehörigen Wert verwendet.

Siehe auch

Dictionaries werden mit geschweiften Klammern {} definiert. Hier ist ein einfaches Beispiel:

# Initialisierung eines dictionary
my_dict = {
    'name': 'Alice',
    'age': 25,
    'city': 'New York'
}
print(my_dict)
{'name': 'Alice', 'age': 25, 'city': 'New York'}

Zugriff auf Elemente#

Auf Elemente in einem Dictionary kann über den Operator [] unter Angabe eines enthaltenen Schlüssels zugegriffen werden. Wenn der Schlüssel nicht existiert, gibt Python einen KeyError aus.

# Zugriff auf existierende Elemente
print(my_dict['name'])
print(my_dict['age'])
Alice
25
# Zugriff für nicht vorhandenen Schlüssel
print(my_dict['unknown'])
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
Cell In[3], line 2
      1 # Accessing non-existing keys
----> 2 print(my_dict['unknown'])

KeyError: 'unknown'

Ändern von Elementen#

Elemente in einem Dictionary können geändert werden, indem einem vorhandenen Schlüssel ein neuer Wert zugweisen wird. Neue Schlüssel-Wert-Paare können hinzugefügt werden, indem einem bisher nicht vorhandenem Schlüssel ein Wert zugewiesen wird.

# Altering elements in a dictionary
my_dict['age'] = 31
my_dict['city'] = 'Boston'
my_dict['country'] = 'United States'
print(my_dict)
{'name': 'Alice', 'age': 31, 'city': 'Boston', 'country': 'United States'}

Wichtige eingebaute Methoden#

Dictionaries stellen hilfreiche Methoden für den Zugriff auf die Daten bereit:

  • keys(): Gibt ein View-Objekt mit allen Schlüsseln des Dictionary zurück.

  • values(): Gibt ein View-Objekt mit allen Werten des Dictionary zurück.

  • items(): Gibt ein View-Objekt mit allen key-value Paaren des Dictionary zurück.

  • get(key): Gibt den Wert für den angegebenen Schlüssel zurück. Gibt None zurück, falls der Schlüssel nicht existiert.

# Nutzung eingebauter Methoden
keys = my_dict.keys()
values = my_dict.values()
items = my_dict.items()
age = my_dict.get('age')

print('Keys:', keys)
print('Values:', values)
print('Items:', items)
print('Age:', age)
Keys: dict_keys(['name', 'age', 'city', 'country'])
Values: dict_values(['Alice', 31, 'Boston', 'United States'])
Items: dict_items([('name', 'Alice'), ('age', 31), ('city', 'Boston'), ('country', 'United States')])
Age: 31

Dictionaries als Tabellen nutzen#

Dictionaries können genutzt werden, um Daten in tabellarischer Form zu verarbeiten. Dabei entsprechen die Schlüssel den Spaltennamen, die Werte zu den Schlüsseln enthalten Sequenzen mit den Spaltendaten.

# Dictionary als Tabelle
my_table = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
print(my_table)
{'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35], 'City': ['New York', 'Los Angeles', 'Chicago']}

Dictionaries mit Variablen#

Es ist zudem möglich, Variablen in einem Dictionary zu speichern, die erst dann ausgewertet werden, wenn wir darauf zugreifen.

w1 = 5
h1 = 3
area1 = w1 * h1

w2 = 2
h2 = 4
area2 = w2 * h2

rectangles = {
    "width": [w1, w2],
    "height": [h1, h2],
    "area": [area1, area2]
}

print(rectangles)
{'width': [5, 2], 'height': [3, 4], 'area': [15, 8]}

Übung#

Du hast gerade die Radien von drei Kreisen gemessen. Trage sie in eine Tabelle ein und füge eine Spalte mit den entsprechenden Kreisflächen hinzu.

r1 = 12
r2 = 8
r3 = 15