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. GibtNonezurü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