Table of Contents
lists in Python3
Zwar wurde Objektorientiertes Programmieren auf der Startseite explizit ausgenommen, jedoch muss hier etwas vorgegriffen werden. Listen, Sets, Tupeln und Dictionaries sind in Python3 Objekte. Objekte können wiederum Funktionen haben. Ob das letztendlich Objekte oder sonst was ist tut aber hier letztendlich nichts zur Sache.
Methoden von Listen
list.append(element)
Wie der Name schon sagt, hängt diese Methode ein zusätzliches Element am Ende der Liste hinzu.
# Eine befüllte Liste anlegen list = [0, 1, 1, 2, 3, 5, 8] # Die Liste ausgeben print(list) # Die Ausgabe wird sein: [0, 1, 1, 2, 3, 5, 8] # Ein Element anhängen list.append(13) # Die veränderte Liste ausgeben print(list) # Die Ausgabe wird sein: [0, 1, 1, 2, 3, 5, 8, 13]
list.extend(other_list)
Damit wird eine Liste mit einer anderen Liste erweitert.
# Zwei Listen anlegen list1 = [0, 1, 1, 2] list2 = [3, 5, 8, 13] # list1 um list2 erweitern list1.extend(list2) # Ausgabe der beiden Listen print(list1) # Die Ausgabe wird sein: [0, 1, 1, 2, 3, 5, 8, 13] print(list2) # Die Ausgabe wird sein: [3, 5, 8, 13]
list.insert(index, element)
Anders als bei append wird das neue Element nicht am Ende angehängt, sondern an einer bestimmten Position eingefügt. Vorsicht: Das erste Element ist das Element mit dem Index 0
# Liste mit fehlender drei anlegen list = [0, 1, 1, 2, 5, 8, 13] # Die Liste ausgeben print(list) # Die Ausgabe wird sein: [0, 1, 1, 2, 5, 8, 13] # An Position 4 wird ein Element mit dem Wert 3 eingehängt list.insert(4, 3) # Die veränderte Liste ausgeben print(list) # Die Ausgabe wird sein: [0, 1, 1, 2, 3, 5, 8, 13]
list.remove(element)
Damit wird das erste gefundene Element entfernt. Wird ein Element entfernt, welches nicht in der Liste ist, wird ein ValueError ausgelöst. Das Programm würde stoppen, wenn man das nicht gesondert behandelt.
Wir man derartige Fehler abfängt, so dass das Programm weiter läuft, wird unter Fehlerbehandlung mit Python beschrieben
# Eine Liste anlegen list = [0, 1, 1, 123533219, 2, 3, 5, 8, 13] print(list) # Die Ausgabe wird sein: [0, 1, 1, 123533219, 2, 3, 5, 8, 13] # Element entfernen list.remove(123533219) print(list) # Die Ausgabe wird sein: [0, 1, 1, 2, 3, 5, 8, 13] # Die nächste Zeile wirft einen ValueError und das Programm stoppt list.remove(123533219) # Diese Zeile wird nicht mehr ausgeführt print(list)
list.pop([index])
Löst das Element am gegebenen Index aus der Liste heraus und gibt es, anders als remove, zurück. Der Index ist optional (Deshalb die eckigen Klammern). Wird keiner angegeben wird das letzte Element aus der Liste gelöst.
# Eine Liste anlegen list = [0, 1, 1, 123533219, 2, 3, 5, 8, 13] print(list) # Die Ausgabe wird sein: [0, 1, 1, 123533219, 2, 3, 5, 8, 13] # Element am Index 3 entfernen removedElement = list.pop(3) # Das entfernte Element ausgeben print("Das entfernte Element ist: "+str(removedElement)) print(list) # Die Ausgabe wird sein: [0, 1, 1, 2, 3, 5, 8, 13]
list.index(element)
Diese Methode liefert den ersten Index an dem das übergebene Element liegt zurück. Wird keines gefunden, so wird wieder ein ValueError ausgelöst. Wieder stoppt das Programm, wenn man den Fehler nicht abfängt.
Wir man derartige Fehler abfängt, so dass das Programm weiter läuft, wird unter Fehlerbehandlung mit Python beschrieben
# Liste anlegen list = [0, 1, 1, 2, 3, 5, 8, 13] # Liste ausgeben print(list) indexOfOne = list.index(1) print("Der Index von 1 ist "+str(indexOfOne)) # Bei der nächsten Zeile stoppt das Programm und meldet, dass 12 nicht in der Liste ist indexOfError = list.index(12) # Diese Zeile wird nicht mehr ausgeführt print("Der Index von 12 ist "+str(indexOfError))
list.sort()
Drei mal darst du raten, was diese Methode macht
# Liste anlegen list = [13, 8, 5, 3, 2, 1, 1, 0] # Liste ausgeben print(list) # Ausgabe wird sein: [13, 8, 5, 3, 2, 1, 1, 0] # Liste sortieren list.sort() # Die sortierte Liste ausgeben print(list) # Ausgabe wird sein: [0, 1, 1, 2, 3, 5, 8, 13]
list.reverse()
Diese Methode dreht die Liste um
# Liste anlegen list = [0, 1, 1, 2, 3, 5, 8, 13] # Liste ausgeben print(list) # Ausgabe wird sein: [0, 1, 1, 2, 3, 5, 8, 13] # Liste umdrehen list.reverse() # Die umgedrehte Liste ausgeben print(list) # Ausgabe wird sein: [13, 8, 5, 3, 2, 1, 1, 0]
Slicing
Python lässt ein recht einfaches zuschneiden der Elemente zu. Es wird ein von-Index und ein bis-exklusive-Index angegeben
<code python> # Liste anlegen list = [0, 1, 1, 2, 3, 5, 8, 13] # Ausgabe vom ersten bis exklusive sechsten Element print(list[1:6]) # Ausgabe vom ersten bis exklusive siebten Element, aber dann doch nur jedes zweite print(list[1:7:2]) # Es gibt viele Slicingspezialitäten wie beispielsweise: print(list[::-1))