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 gleichbedeutendfarben[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.