Zum Hauptinhalt springen

Listen

Mit Listen können wir "Sammlungen" von Werten anlegen.

Im folgenden Beispiel verwenden wir Listen, um mit der Turtle in farbiges n-Eck zu zeichnen:

from turtle import *

farben = ["red", "green", "blue", "orange", "purple"]

for f in farben:
pencolor(f)
forward(100)
left(360 / len(farben))

Auf Zeile 3 definieren wir eine Liste namens farben. Eine Liste beginnt und endet immer mit eckigen Klammern ([]) — die einzelnen Werte werden mit Kommas getrennt. Genau wie jeder andere Wert können wir eine Liste auch einer Variable zuweisen (hier eben der Variable farben).

Auf Zeile 5 verwenden wir die Liste analog zur range()-Funktion. Diese Funktion erzeugt nämlich ebenfalls eine Liste: Beispielsweise erzeugt range(5) genau die Liste [0, 1, 2, 3, 4]. Die Laufvariable (in diesem Beispiel ist dies das f in for f in ...) enthält beim ersten Schleifendurchlauf das erste Element dieser Liste ("red", beim zweiten Durchlauf das zweite ("green"), und so weiter.

Mit der Funktion len() erhalten wir auf Zeile 8 die Länge der Liste (in diesem Fall 5).

Auf ein Element zugreifen

Um auf ein bestimmtes Element einer Liste zuzugreifen, verwenden wir ebenfalls eckige Klammern. Für die Liste farben = ["red", "green", "blue", "orange", "purple"] greifen wie folgt auf die einzelnen Elemente zu:

  • farben[0] gibt das erste Element zurück ("red")
  • farben[1] gibt das zweite Element zurück ("green")
  • farben[-1] gibt das letzte Element zurück ("purple") und ist damit gleichbedeutend farben[4]

Heterogene Listen

Nicht alle Elemente einer Liste müssen vom gleichen Datentyp sein. Beispielsweise ist folgende Liste ebenfalls zulässig in Python:

["blue", 4, 3.14, "Hallo, Welt!", True]

Die Verwendung von heterogenen Listen dieser Art ist allerdings nur in seltenen Fällen sinnvoll.

Listen verändern

Die wichtigsten Funktionen zum Verändern von Listen sind add() und remove(). Folgendes Programm gibt am Ende die Liste [10, 15, 20, 25] aus:

werte = [10, 15, 15, 20]
werte.append(25)
werte.remove(15)
print(werte)

Auf Zeile 1 wird die Liste ganz normal definiert.

Auf Zeile 2 wird mit werte.append(25) der Wert 25 an der hintersten Stelle in die Liste eingefügt. Die Liste hat danach den Wert [10, 15, 15, 20].

Auf Zeile 3 wird mit werte.remove(15) ein Element mit dem Wert 15 aus der Liste entfernt. Die Liste hat anschliessend den Wert [10, 15, 20]. Wenn die Liste den angegebenen Wert nicht enthält, dann führt dies zu einem Programmfehler.

Wir können auch ein Element an einer bestimmten Stelle löschen:

werte = [10, 15, 20, 25]
del werte[2]
print(werte)

Dieses Programm gibt am Ende die Liste [10, 15, 25] aus, weil wir auf Zeile 2 das Element an der Position 2 (also das Element 20) entfernen.