- Nutze alle Lernfunktionen, wie Tests, Quizze und Umfragen.
- Schreibe Beiträge und tausche dich in unseren Foren aus.
- In einigen Lernangeboten bestätigen wir dir die Teilnahme.
AI.Lab
Kursthemen
-
-
Listen
Anders als Tupel sind Listen
mutable
, also nach der Erstellung noch veränderbar. Abgesehen davon sind Tupel den Listen sehr ähnlich. Sie werden mit eckigen Klammern[]
statt der runden Klammern()
bei Tupeln erstellt:alphabet = ["a","b","c","f"] # Erstellung der Liste mit 4 Elementen, Element 4 ist fehlerhaft (f statt d) print(alphabet) alphabet[3]="d" # Korrektur des vierten Elements print(alphabet)
-
Achtung: Die Einhaltung der Grenzen der Liste ist auch hier Aufgabe des Programmierers: Teste die folgende Codezeile:
print(alphabet[5])
-
Ein weiterer Unterschied zu Arrays in C ist, dass Listen nicht auf einen bestimmten Datentypen festgelegt sind. So können zum Beispiel die beiden oben erstellten Listen in einer verschachtelten Liste zusammengefasste werden:
fibonacci = [1,1,2,3,5,8,13,21] # Liste mit Zahlen: Typ int nestedList = [alphabet, fibonacci, ["Hallo"]] # Liste mit Listen vom Typ str, int und str (verschachtelt) print(nestedList)
-
Der Zugriff auf die Elemente erfolgt wie bei Tupeln über eckige Klammern. Es können dabei mit
:
auch Indexbereiche angegeben werden. Negative Indizes zählen vom Ende der Liste rückwärts, -1 gibt das letzte Element der Liste zurück.
Hier folgen ein paar Beispiele:print(alphabet[0]) # Gibt das erste Element aus print(alphabet[-1]) # Gibt das letzte Element aus print(alphabet[-2]) # Gibt das vorletzte Element aus print(fibonacci[0:4]) # Die ersten vier Elemente (Element 4 gehört nicht dazu) print(fibonacci[-3:]) # Die letzten drei Elemente print(fibonacci[::2]) # Jedes zweite Element print(fibonacci[::-1]) # Alle Elemente in umgekehrter Reihenfolge print(nestedList[0][3]) # Da nestedList[0] eine liste ist, können wir mit dem zweiten Klammerpaar das Element der verschachtelten Liste auswählen print(nestedList[0]) # Gibt das erste Element der verschachtelten Liste, also die Liste alphabet aus
-
Die Syntax dabei ist
liste[Start : Stop : Schritt]
. Probiere dies gerne in der nächsten Zelle aus. 1. Gebe jede dritte Zahl aus. 2. Gebe jede siebte Zahl aus, beginnend bei 10 und stoppend bei 63.testliste = [] for i in range(100): testliste.append(i)
-
Wichtig ist, dass Listen nicht nur ihre Werte, sondern auch ihre Länge verändern lassen. Elemente können mit
.append()
am Ende der Liste hinzugefügt werden und mit.pop()
vom Ende der Liste entfernt werden.print(fibonacci) # Element am Ende der Liste hinzufügen fibonacci.append(fibonacci[-1]+fibonacci[-2]) print(fibonacci) # Element mit angegebenem Index wird entfernt und dieser Wert zurückgegeben. Wenn kein Index angegeben wird wird letzter Wert entfernt zahl = fibonacci.pop(-1) print(fibonacci) print(f"Die entfernte Zahl ist {zahl}.")
-
Wenn ein Element mit einem bestimmten Wert entfernt werden soll, kann die
remove()
-Funktion genutzt werden. Diese das erste Element der Liste mit dem übergebenen Wert. Sollte dieses in der Liste nicht existieren, wird ein Fehler ausgelöst.
Mitinsert()
kann ein Element an einer gewünschten Stelle eingefügt werden.fibonacci.insert(4, 15) # fügt Element mit Wert 15 bei Index 4 ein print(fibonacci) fibonacci.remove(15) # entfernt erstes Element mit Wert 15 print(fibonacci)
Es gibt noch weitere Funktionen für Listen, welche über den
dir(list)
Befehl aufgerufen werden können.
-