Dictionaries in Python
Bei Dictionaries haben wir nicht die Indizes (Positionen) 0, 1, 2 sondern können eigene Indizes erzeugen. In Perl und Ruby werden Dictionaries als Hash bezeichnet und in Java als Map. Dictionaries sind veränderbar und lassen sich während der Laufzeit verändern. Dictionary kommt übrigens aus dem Englischen und bedeutet – Wörterbuch.
Die Grundlegende Struktur ist die folgende.
# Dictionary anlegen
dictionarie = {'Key':'Value','Schluessel':'Wert'}
Dabei habe ich Key und Value beim zweiten Eintrag übersetzt in Schlüssel und Wert.
Beispiele für Dictionaries in Python
# Dictionary anlegen
woerterbuch = {'Auto':'car','Haus':'house'}
# Dictionary aufrufen
woerterbuch
{'Auto':'car','Haus':'house'}
Wenn wir nun auf das zugehörige Wort für Auto zugreifen möchten, dann können wir das auf folgende Weise machen:
# Auf ein Element zugreifen
woerterbuch['Auto']
'car'
Das Coole an Dictionaries ist, dass sie auch ermöglichen mit verschiedenen Datentypen zu arbeiten:
# Dictionary anlegen
dict = {'Auto':'car',15:'house', 13:[12,11,'haus']}
# Dictionary aufrufen
dict[13]
[12, 11, 'haus']
Oder noch tiefergehend:
# Dictionary aufrufen
dict[13][2]
'haus'
Wir können damit auch ohne weiteres Funktionen nutzen:
# Dictionary an der Position Großgeschrieben
dict[13][2].upper()
'HAUS'
Anlegen von leeren Dictionaries in Python
# Leeres Dictionary anlegen
neuesD = {}
# Dictionary wert zuordnen
neuesD['position1'] = 'Bayern Muenchen'
# Weiteren Wert zuordnen
neuesD['position2'] = 'VFL Wolfsburg'
# Anzeigen
neuersD
{'position1' : 'Bayern Muenchen', 'position2': 'VFL Wolfsburg'}
Funktionen von Dictionaries in Python
Um zum Beispiel alle Keys eines Dictionaries zu erhalten, kann man die keys() Funktion anwenden.
# Dictionary anlegen
dict = {'key1': 1, 'key2': 2, 'key3': 3}
# Keys des Dictionary ausgeben
dict.keys()
['key3', 'key2', 'key1']
# Werte des Dictionary ausgeben
dict.values()
[3, 2, 1]
# Tuples aller Elemente des Dictionary ausgeben
dict.items()
[('key3', 3),('key2', 2), ('key1', 1)]
Nisten von Dictionaries in Python
Man kann Dictionaries auch nisten, also Dictionaries in Dictionaries:
dict = {'key1:{'unterKey':{'unterUnterKey':'Wert'}}}
# Und darauf nun zugreifen:
dict['key1]['unterKey']['unterUnterKey']
'Wert'
Dictionaries sind wirklich extrem nützlich. Wir werden auch in späteren Teilen noch welche verwenden.
Im nächsten Teil werden wir Booleans und Logische Operatoren anschauen.
Wie gut beherrscht du Listen on Python? |