Python 2.5 – Listen und Dictionaries

Listen und Dictionaries sind zwei der in Python integrierten Datentypen. Beide Datentypen sind sehr mächtig. Wir wollen uns ansehen, was wir mit den Datentypen machen können.

Was sind Listen?

Listen in Python repräsentieren den Datentyp, der benutzt wird, um eine Anzahl von Objekten in einer geordneten Reihenfolge abzuspeichern. Listen in Python funktionieren sehr ähnlich wie Arrays in anderen Programmiersprachen, sind aber dynamisch erweiterbar.

Eine Liste wird mit dem Schlüsselwort list erstellt, wie wir im folgenden Beispiel sehen können.

Code-Beispiel - Liste erstellen:

a = list()
type(a)

a ist jetzt eine Variable vom Typ Liste. Momentan ist die Liste noch leer. Wir werden im Folgenden die häufigsten Operationen besprechen, die du zum Arbeiten mit Listen brauchst.

Append - Hinzufügen von Elementen zu Listen

Mit der Operation append fügen wir ein Element zum Ende einer Liste hinzu.

Code-Beispiel - Elemente zu einer Liste hinzufügen mit append:

a = list()
a.append(1)
print(a)
Code ausprobieren ×

Wir haben eine Liste erzeugt und der Liste das Element mit dem Integerwert 1 hinzugefügt. In Python ist es nicht notwendig, dass eine Liste nur Daten eines bestimmten Datentyps enthält, wie wir gleich demonstrieren werden.

a.append("2")
print(a)
Code ausprobieren ×

Nun ist das zweite Element der Liste ein Objekt vom Typ String mit dem Wert "2".

Pop - Löschen des letzten Elementes der Liste.

Oft wollen wir eine Liste vom Ende zum Anfang abarbeiten. Pop() ist eigentlich eine Operation die Klassischerweise dem Datentyp Stack zugeordnet ist. Dieser Datentyp wird in Python aber durch die Liste repräsentiert.

a = list()
a.append(1)
print(a)
b = a.pop()
Code ausprobieren ×

pop entfernt das letzte Element der Liste und gibt dieses Element als Rückgabewert zurück.

Zugriff auf einzelne Elemente der Liste

Um Zugriff auf einzelne Elemente der Liste zu erhalten, kann man auf sie über ihren sogenannten Index zugreifen. Dabei repräsentiert der Index 0 wie fast immer in der Informatik das erste Element der Liste.

insert

Mittels der Operation insert kann man an einer bestimmten Stelle der Liste Elemente einfügen.

a = [1,3,4,5]
a.insert(1,2)
print(a)
Code ausprobieren ×

Hier kannst du etwas mit den Listen rumspielen:

Was ist ein Dictionary in Python?

Das Dictionary (in anderen Programmiersprachen auch als HashMap bezeichnet) beschreibt eine ungeordnete Ansammlung von Schlüssel-Wert Paaren. Dabei ist jedem Schlüssel immer genau ein Wert zugeordnet. Durch Indizierung ist der Zugriff auf diesen Wert über den Schlüssel besonders effizient. Das hört sich zunächst etwas kompliziert an, ist aber eigentlich sehr einfach. Wir wollen uns die Operation des Dictionary Stück für Stück ansehen.

Zunächst erstellen wir ein Dictionary:

example_dict = dict()

Als nächstes fügen wir dem Dictionary den Schlüssel "example_key" mit dem Wert "example_value" hinzu.

example_dict["example_key"] = "example_value"

Jetzt können wir jederzeit auf den Wert "example_value" unter Angabe des Schlüssels "example_key" zugreifen:

print(example_dict["example_key"])

Eine alternative Syntax dazu, die oft verwendet wird, ist die get-Methode:

print(example_dict.get("example_key")

Um alle Werte eines Dictionary-Objekts zu löschen, können wir die clear-Methode nutzen:

example_dict.clear()

Um einen einzelnen Schlüssel/Wertpaar eines Dictionary-Objekts zu löschen, nutzen wir die pop-Methode und geben den Schlüssel an. Der Rückgabewert der Operation ist der Wert, der dem Schlüssel zugeordnet ist.

example_value = example_dict.pop("example_key")

Dies sind die wichtigsten Operationen eines Dictionary.

Code-Aufgabe - Jetzt bist du dran:

Deine Aufgabe:

  1. Erstelle eine Liste namens "pizza_menue" mit den Werten [2, 4, 5, 6]
  2. Ups! Die Nummern für das Pizza-Menü sind nicht komplett. Benutze den insert-Befehl, um die Zahlen 1 und 3 an die richtige Stelle einzufügen. Die Liste soll später so aussehen: 1, 2, 3, 4, 5, 6
  3. Gib deine fertige Liste mit dem Print-Befehl aus.

Gib deinen Code hier ein:

Code-Aufgabe - Lösung:

Wenn du nicht weiterkommst, findest du hier die Komplettlösung zu der Aufgabe. Du kannst den folgenden Code in den Online-Editor kopieren & einfügen, um ihn zu testen.

[lp_spoiler title="Spoiler - Lösung anzeigen"]

pizza_menue = [2,4,5,6]

pizza_menue.insert(0,1)
pizza_menue.insert(2,3)

print(pizza_menue)
Code ausprobieren ×

[/lp_spoiler]

Zusammenfassung:

Listen und Dictionaries sind erweiterte Datenstrukturen, die du in deinen Programmen benutzen kannst. Insbesondere Listen sind allgegenwärtig in Python und werde für vielfältigste Aufgaben benutzt. Du solltest dir diese Datenstrukturen und ihre dazugehörigen Operationen gut einprägen. Die passende Datenstruktur zu finden, ist in der Regel die Basis für jedes Programm.

Wir hoffen, du hattest Spaß und wir sehen uns in der nächsten Lektion wieder.