Listen in Python
Python kennt viele zusammengesetzte Datentypen (compound data types), die zur Gruppierung unterschiedlicher Werte verwendet werden können. Die flexibelste davon ist die Liste (list):
1) Eine Liste von Werten (Elemente), die durch Kommas getrennt und von eckigen Klammern eingeschlossen werden. Listenelemente müssen nicht alle denselben Typ haben.
2) Ebenso wie die Indizierung bei Zeichenketten ist auch die Listenindizierung nullbasiert — das erste Element hat also den Index 0. Auch das von Zeichenketten bekannte Slicing sowie die Verkettung und Vervielfachung + bzw. * sind mit Listen möglich.
3) Alle Slicing-Operationen geben eine neue Liste zurück, die die angeforderten Elemente enthält. Das bedeutet, dass die folgende Operation eine flache Kopie (shallow copy) der Liste a zurückgibt.
4) Im Unterschied zu Zeichenketten sind Listen allerdings veränderbar (mutable), so dass es möglich ist, innerhalb einer Liste Veränderungen vorzunehmen.
7) Es ist auch möglich Listen zu verschachteln (nest), das heißt, Listen zu erzeugen, die andere Listen enthalten.
8) Man kann auch etwas ans Ende einer Liste (append) hängen. Beachte, dass im letzten Beispiel p[1] und q wirklich auf dasselbe Objekt zeigen!
Listenfunktionen
len (Liste)
max (Liste)
min (Liste)
sum (Liste)
Listenmethoden:
Aufgaben zu Listen
1. Aufgabe
Speichere die Elemente 'Schwalbe', 'Kokosnuss', 13, 'Spam' und 3.14 in einer Liste mit dem Namen liste ab und versuche herauszufinden, was die folgenden Methoden machen. Prüfe dazu jedes Mal die Liste mit print(liste).
>>> liste[2] = 666
>>> len(liste)
>>> liste.append('Ni')
>>> liste.extend([4, 5, 3.14])
>>> liste.insert(2, 'Taube')
>>> liste.count(3.14)
>>> liste.index(3.14)
>>> liste.remove(3.14)
>>> liste.pop()
>>> liste.reverse()
>>> sum([1,3,5])
2. Aufgabe
Lies das folgende Programm und versuche zu erraten, was die Ausgabe ist. Probiere es anschliessend aus und suche nach einer Erklärung des Verhaltens.
liste_a = ['Hallo', 'schönes', 'Wetter']
liste_b = liste_a
liste_b[1] = 'schlechtes'
print(liste_a[0], liste_a[1], liste_a[2])
3. Aufgabe
Entwickle ein Programm, welches 4 Noten einliest und in eine Liste speichert. Berechne anschließend den Mittelwert (=Summe der Noten / Anzahl der Noten) der 4 Noten.