User Tools

Site Tools


struct_py_list

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
struct_py_list [2017/06/29 13:11] – created ggstruct_py_list [2017/06/29 18:05] (current) gg
Line 1: Line 1:
-===== lists in Python3 =====+====== 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. 
 + 
 +<code python> 
 +# 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] 
 +</code> 
 + 
 +==== list.extend(other_list) ==== 
 +Damit wird eine Liste mit einer anderen Liste erweitert. 
 + 
 +<code python> 
 +# 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] 
 +</code> 
 + 
 +==== 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** 
 + 
 +<code python> 
 +# 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] 
 +</code> 
 + 
 +==== 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 [[error_py|Fehlerbehandlung mit Python]] beschrieben 
 + 
 +<code python> 
 +# 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) 
 +</code> 
 +==== 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. 
 + 
 +<code python> 
 +# 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] 
 +</code> 
 + 
 +==== 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 [[error_py|Fehlerbehandlung mit Python]] beschrieben 
 + 
 +<code python> 
 +# 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))  
 +</code> 
 + 
 +==== list.sort() ==== 
 +Drei mal darst du raten, was diese Methode macht :-) 
 + 
 +<code python> 
 +# 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] 
 +</code> 
 + 
 +==== list.reverse() ==== 
 +Diese Methode dreht die Liste um 
 +<code python> 
 +# 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] 
 +</code> 
 + 
 +===== Slicing ===== 
 + 
 +Python lässt ein recht einfaches zuschneiden der Elemente zu. Es wird ein von-Index und ein bis-exklusive-Index angegeben 
 + 
 +<code python> 
 +<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)) 
 +</code>
struct_py_list.1498734665.txt.gz · Last modified: 2017/06/29 13:11 by gg