Ein Dictionary ist eine eingebaute, veränderbare Python-Datenstruktur. Es ist verwandt mit Liste, Set und Tuples. Im Gegensatz zu Listen ist es jedoch nicht über eine Zahlenfolge indiziert, sondern über Keys und lässt sich als assoziatives Array verstehen. Abstrakt betrachtet besteht es aus einem Key mit einem zugehörigen Value. In Python entspricht das Dictionary der Implementierung einer Hash-Tabelle.
Was sind Keys?
Wie in der folgenden Abbildung gezeigt, sind Keys unveränderliche Datentypen (also nicht änderbar), typischerweise Strings oder Zahlen. Ein Key darf jedoch kein veränderlicher Datentyp sein, zum Beispiel eine Liste. Keys sind innerhalb eines Dictionary eindeutig und dürfen nicht doppelt vorkommen. Wird ein Key mehrfach verwendet, überschreiben spätere Einträge den vorherigen Wert.
Ein Key ist mit einem Value verknüpft und bildet so eine Art Mapping. Entfernst du in der Abbildung die Keys, bleibt nur noch eine Datenstruktur mit einer Zahlenfolge. Dictionaries speichern daher an jeder Position ein Key:Value-Paar.
Ein Dictionary wird mit geschweiften Klammern {} dargestellt. Darin stehen die durch Kommas getrennten Key:Value-Paare.
Ein Dictionary erstellen
Syntax
Zur Auffrischung findest du hier ein Grundrezept zum Erstellen eines Dictionary:
Im obigen Beispiel sind sowohl die Keys als auch die Values Strings.
Beispiel: Ein Dictionary erstellen
pop =[30.55,2.77,39.21]
countries =["afghanistan","albania","algeria"]Bereitgestellt von
Lass uns die Bevölkerungsdaten in ein Dictionary umwandeln. Zum Erstellen nutzt du die geschweiften Klammern. Darin stehen mehrere Key:Value-Paare. In diesem Fall sind die Keys die Ländernamen und die Values die entsprechenden Bevölkerungszahlen.
Der erste Key ist Afghanistan, sein zugehöriger Wert ist 30.55. Beachte den Doppelpunkt, der Key und Value trennt. Wiederhole das für die beiden anderen Key:Value-Paare und speichere das Ergebnis in der Variable world.
Um nun die Bevölkerungszahl für Albania zu finden, tippst du einfach world und dann den String Albania in eckigen Klammern. Anders ausgedrückt: Du übergibst den Key in eckigen Klammern und erhältst den zugehörigen Wert.
world ={"afghanistan":30.55,"albania":2.77,"algeria":39.21}
world["albania"]Bereitgestellt von
Dieser Ansatz ist nicht nur intuitiv, sondern auch sehr effizient, da Python Keys extrem schnell nachschlagen kann – selbst in großen Dictionaries.
Interaktives Beispiel: Ein Dictionary erstellen
Im folgenden Beispiel nutzt du die Strings in countries und capitals und erstellst ein Dictionary namens europe mit vier Key:Value-Paaren. Dabei sind die countries die Keys und capitals die Values. Achte auf die Kleinschreibung! Verwende überall Kleinbuchstaben. Gib zum Schluss europe aus, um zu prüfen, ob das Ergebnis passt.
# Definition von Ländern und Hauptstädten
countries =['spain','france','germany','norway']
capitals =['madrid','paris','berlin','oslo']# Aus den Strings in countries und capitals das Dictionary europe erstellen
europe ={'spain':'madrid','france':'paris','germany':'berlin','norway':'oslo'}# europe ausgebenprint(europe)Bereitgestellt von
Beim Ausführen des Codes erhältst du folgende Ausgabe:
{'norway':'oslo','germany':'berlin','france':'paris','spain':'madrid'}Bereitgestellt von
Mach dich mit Python-Datenstrukturen vertraut: Lerne mehr über Datentypen und primitive sowie nicht-primitive Datenstrukturen wie Strings, Listen, Stapel usw.
Lerne effiziente Methoden, um ein Wörterbuch in Python nach Werten zu sortieren. Lerne, wie du Sachen aufsteigend oder absteigend sortieren kannst, und hol dir ein paar coole Tipps zum Sortieren von Schlüsseln.
Ein Dictionary ist eine eingebaute, veränderbare Python-Datenstruktur. Es ist verwandt mit Liste, Set und Tuples. Im Gegensatz zu Listen ist es jedoch nicht über eine Zahlenfolge indiziert, sondern über
Keysund lässt sich als assoziatives Array verstehen. Abstrakt betrachtet besteht es aus einemKeymit einem zugehörigenValue. In Python entspricht das Dictionary der Implementierung einerHash-Tabelle.Was sind Keys?
Wie in der folgenden Abbildung gezeigt, sind Keys unveränderliche Datentypen (also nicht änderbar), typischerweise Strings oder Zahlen. Ein Key darf jedoch kein veränderlicher Datentyp sein, zum Beispiel eine Liste. Keys sind innerhalb eines Dictionary eindeutig und dürfen nicht doppelt vorkommen. Wird ein Key mehrfach verwendet, überschreiben spätere Einträge den vorherigen Wert.
Ein
Keyist mit einemValueverknüpft und bildet so eine Art Mapping. Entfernst du in der Abbildung die Keys, bleibt nur noch eine Datenstruktur mit einer Zahlenfolge. Dictionaries speichern daher an jeder Position einKey:Value-Paar.Ein Dictionary wird mit geschweiften Klammern
{}dargestellt. Darin stehen die durch Kommas getrenntenKey:Value-Paare.Ein Dictionary erstellen
Syntax
Zur Auffrischung findest du hier ein Grundrezept zum Erstellen eines Dictionary:
Im obigen Beispiel sind sowohl die Keys als auch die Values Strings.
Beispiel: Ein Dictionary erstellen
Lass uns die Bevölkerungsdaten in ein Dictionary umwandeln. Zum Erstellen nutzt du die geschweiften Klammern. Darin stehen mehrere Key:Value-Paare. In diesem Fall sind die Keys die Ländernamen und die Values die entsprechenden Bevölkerungszahlen.
Der erste Key ist Afghanistan, sein zugehöriger Wert ist 30.55. Beachte den Doppelpunkt, der Key und Value trennt. Wiederhole das für die beiden anderen Key:Value-Paare und speichere das Ergebnis in der Variable
world.Um nun die Bevölkerungszahl für Albania zu finden, tippst du einfach
worldund dann den String Albania in eckigen Klammern. Anders ausgedrückt: Du übergibst den Key in eckigen Klammern und erhältst den zugehörigen Wert.Dieser Ansatz ist nicht nur intuitiv, sondern auch sehr effizient, da Python Keys extrem schnell nachschlagen kann – selbst in großen Dictionaries.
Interaktives Beispiel: Ein Dictionary erstellen
Im folgenden Beispiel nutzt du die Strings in
countriesundcapitalsund erstellst ein Dictionary namenseuropemit vier Key:Value-Paaren. Dabei sind diecountriesdie Keys undcapitalsdie Values. Achte auf die Kleinschreibung! Verwende überall Kleinbuchstaben. Gib zum Schlusseuropeaus, um zu prüfen, ob das Ergebnis passt.Beim Ausführen des Codes erhältst du folgende Ausgabe:
Probiere es selbst aus.
Wenn du mehr über Dictionaries in Python lernen möchtest, sieh dir dieses Video aus unserem Kurs Intermediate Python an.
Dieser Inhalt stammt aus dem DataCamp-Kurs Intermediate Python von Hugo Bowne-Anderson.