Das Konzept von Listen
- Eine Liste ist eine Sammlung von Elementen. Das können Zahlen, Wörter oder andere Werte sein.
- In Python wird eine Liste durch eckige Klammern
[]
definiert. - Elemente in einer Liste sind durch Kommas getrennt.
meine_liste = [1, 2, 3.1, "Hallo", 5, 6, "Velo", 8]
Positionen in der Liste (Index)
- In Listen beginnt die Zählung der Positionen bei 0. Das erste Element hat also den Index 0, das zweite den Index 1, und so weiter.
- Sie können einen Teil der Liste auswählen, indem Sie seine Position in eckigen Klammern angeben:
meine_liste = [1, 2, 3.1, "Hallo", 5, 6, "Velo", 8]
# index: 0 1 2 3 4 5 6 7
print( meine_liste[0] ) # 1
print( meine_liste[3] ) # Wert ist "Hallo"
Listen und for-Schleifen
- Die Funktion
range()
, die Sie ausfor
-Schleifen kennen, erzeugt auch eine Art Listen! for
-Schleifen iterieren also durch die Elemente einer Liste.- Dies ist nützlich, um Aktionen mit jedem Element durchzuführen.
Aufgabe 1: Liste mit Grössen
- Erstellen Sie eine Liste mit den Werten
[10, 20, 30]
. - Benutzen Sie in TigerJython die Methode
eva.setPenWidth(...)
von Turtle, um die Grösse des Stifts zu ändern. (Hier auf der Webseite ist es eva.width(…) ).
Aufgabe 2: Liste mit Formen
- Schreiben Sie eine Funktion
xeck(...)
, die je nach Argument ein Dreieck (xeck(3)
), Viereck (xeck(4)
), etc. zeichnet. - Erstellen Sie eine Liste namens
xeckliste
mit Werten für die Anzahl Ecken verschiedener X-Ecke.[4, 7, 12]
. - Schreibe eine
for
-Schleife, die die Turtle alle Formen zeichnen lässt.
formen = [4, 7, 12]
# Beispiel-Code hier
Werte hinzufügen, selektieren, entfernen
Mit der Methode append
können Elemente am Ende der Liste hinzugefügt werden.
zahlen = [1, 2, 3]
zahlen.append(4) # Ergebnis: [1, 2, 3, 4]
Mit der Methode insert
können Elemente an einer spezifischen Position in der Liste eingefügt werden. Die Syntax ist: liste.insert(index, element)
zahlen = [1, 2, 4, 5]
# index: 0 1 2 3
zahlen.insert(2, 3) # Ergebnis: [1, 2, 3, 4, 5]
In diesem Beispiel wird die Zahl 3 an der dritten Position (Index 2) in der Liste zahlen
eingefügt.
Entfernen von Elementen
Mit der Methode remove(...)
wird das erste Element mit dem gewünschten Wert aus der Liste entfernt.
zahlen = [7, 3, 5, 4, 8]
# index: 0 1 2 3 4
zahlen.remove(5) # Ergebnis: [7, 3, 4, 8]
Mit der Methode pop(...)
wird das Element mit dem angegebenen Index aus der Liste gestrichen.
zahlen = [7, 3, 5, 4, 8]
# index: 0 1 2 3 4
zahlen.pop(1) # Ergebnis: [7, 5, 4, 8]
Teile der Liste auswählen (Slicing)
- Mit Slicing können Teile der Liste ausgewählt werden. Die Logik ist ähnlich wie bei
range(...)
, alsoliste[start:ende:schritt]
zahlen = [7, 3, 5, 4, 8]
# index: 0 1 2 3 4
teil = zahlen[0:3] # Ergebnis: [7, 3, 5]
Aufgabe 3: Hinzufügen von Farben
- Gegeben ist folgender Code mit einer Liste
farbliste
mit folgenden Farben: [“red”, “blue”, “yellow”, “orange”] - Fügen Sie am Ende die Farben
"turquoise"
hinzu und an der Position mit Index 2 die Farbe"grey"
- Entfernen Sie nun die Farbe
"yellow"
und dann das erste Element der Liste. - Starten Sie das Programm, wie sieht das Quadrat aus?
Aufgabe 4: Farbiges xeck!
Mit der Funktion len(…) kann man die Anzahl der Elemente in einer Liste herausfinden.
Erweitern Sie diesen Code mit Ihrer Funktion xeck(…) von oben und zeichnen Sie ein X-Eck mit sovielen Ecken, wie es Farben in der Liste hat.
Lösung im Video
Eine Liste während for
-Schleife verändern
Wenn wir eine Liste mit for
durchlaufen, können wir sie nicht einfach so ändern.
Wieso passiert das? Weil die Zählervariabel element
eine Art Kopie des Listenelements ist und nicht das Listenelement im Speicher.
Wenn wir die Liste verändern wollen, müssen wir die Position des Elements in der Liste wissen und es überschreiben. Wir konstruieren mit len(...)
und range(...)
eine for
-Schleife, die uns die Zahlen des Index der Liste gibt. Folgen Sie dazu folgenden Überlegungsschritten:
Wenn
liste = ["Hallo", "das", "sind", "Beispiele"]
, welchen Wert hatlen(liste)
?Genau: 4.
Wenn Sie eine altgebackene
for
-Schleife machen mitfor i in range(4):
, was sind die Werte füri
und was entspricht das genau?Die Werte sind 0, 1, 2, 3. Das sind genau die Werte der Indexzahlen der Liste!
Aufgabe 5
- Konstruieren Sie eine Funktion
rechnung(zahl)
, die eine Zahl mit sich selbst multiplziert und dann sich selbst vom Ergebnis subtrahiert. Geben Sie das Ergebnis zurück mitreturn
. - Konstruieren Sie eine
for
-Schleife, die alle Elemente der Liste mit dem Ergebnis vonrechnung(...)
überschreibt.
Zusammenfassung
Theorie: Listen
- Eine Liste ist eine Sammlung von Elementen. Das können Zahlen, Wörter oder andere Werte sein.
- In Python wird eine Liste durch eckige Klammern
[]
definiert.- Elemente in einer Liste sind durch Kommas getrennt.
- In Listen beginnt die Zählung der Positionen bei 0. Das erste Element hat also den Index 0, das zweite den Index 1, und so weiter.
- Sie können einen Teil der Liste auswählen, indem Sie seine Position in eckigen Klammern angeben:
meine_liste = [1, 2, 3.1, "Hallo", 5, 6, "Velo", 8] # index: 0 1 2 3 4 5 6 7 print( meine_liste[0] ) # 1 print( meine_liste[3] ) # "Hallo"
Werte hinzufügen und entfernen
zahlen = [2, 3, 4, 5, 8] # index: 0 1 2 3 4 # remove sucht einen Wert und entfernt zahlen.remove(2) # Die Liste ist jetzt: [3, 4, 5, 8] # pop entfernt das Element auf einer Position zahlen.pop(3) # Die Liste ist jetzt: [3, 4, 5] # append fügt einen Wert am Ende hinzu zahlen.append(7) # Die Liste ist jetzt: [3, 4, 5, 7] # insert fügt an einer bestimmten Position (hier 1) ein Element ein (hier 99) zahlen.insert(1, 99) # Die Liste ist jetzt: [3, 99, 4, 5, 7]
Listen mit
for
-Schleifen durchlaufenEine
for
-Schleife mit einer Liste mit vier Farben macht vier Wiederholungen .farbliste = ["red", "blue", "yellow", "orange"] for farbe in farbliste: eva.color(farbe) eva.forward(50) eva.right(90)
Das erzeugt:
