List#
Was ist eine List?#
Eine List ist ein Sammlung von Elementen in einer besonderen Reihenfolge. Sie können eine List mit den Buchstaben des Alphabets, den Zahlen 0 bis 9 oder alle Vornamen der Personen in ihrer Familie. Sie können alles was programmiertechnisch möglich ist, in eine List ablegen.
Wichtig
Stellen Sie für jedes Beispiel eine Vermutung an, was auf der Console ausgegeben wird.
Probieren Sie dann alle gezeigten Beispiel selber aus.
List anlegen#
programmiersprachen = ['python', 'javascript', 'java', 'c++', 'c']
print(programmiersprachen)
Bemerkung
Da eine List viele Elemente beinhalten kann, ist es eine gute Idee den Namen einer List immer im Plural zu schreiben.
Auf Elemente zugreifen#
Lists sind geordnete Sammlungen von Elementen. Somit können wir Python sagen, dass das Element an einer bestimmten Stelle - dem index - in der List angezeigt werden soll. Um auf ein Element zuzugreifen, wird der Name der List geschrieben und gefolgt von dem index in eckigen Klammern.
print(programmiersprachen[0])
Wichtig
In vielen Programmiersprachen wird nicht von der 1 an gezählt, sondern bei der 0. 0 stellt immer das erste Element in einer List dar.
0 |
1 |
2 |
3 |
4 |
---|---|---|---|---|
python |
javascript |
java |
c++ |
c |
Python hat eine spezielle Syntax um auf das letzte Element in einer List zuzugreifen. Wenn nach dem Element mit dem index -1 zugreift, gibt Python immer das letzte Element in der List zurück. Bei dem index -2 das Vorletzte und so weiter.
print(programmiersprachen[-3])
Die Werte aus einer List können sehr einfach in einem f-String ausgegeben werden.
nachricht = f'ich liebe {programmiersprachen[1]} aber noch mehr liebe ich {programmiersprachen[0]}!'
Ändern, Hinzufügen und Entfernen von Elementen#
Ändern von Elementen#
Die meisten List sind dynamisch, dass bedeuted, dass sie im Programmablauf sich verändern. Elemente werden geändert, hinzugefügt oder entfernt.
Die Syntax um Elemente zu verändern ist dem Zugriff aus Elemente sehr ähnlich. Um ein Element zu verändern nutzen Sie wieder den Listnamen und den Index und weisen mittels dem Zuweisungsoperator einen neuen Wert zu.
programmiersprachen = ['python', 'javascript', 'java', 'c++', 'c']
programmiersprachen[1] = 'c#'
Der obere Code erstellt eine List mit Programmiersprachen und an der 1.-Stelle steht javascript. In der nächsten Anweisung wird der 1.-Stelle ein neuer Wert, c#, zugewiesen. Das Ergebnis der List ist das folgende:
['python', 'c#', 'java', 'c++', 'c']
Bemerkung
Jedes Element in einer List kann verändert werden.
Hinzufügen von Elementen#
Die einfachste Methode ein Element einer List hinzuzufügen ist mittels append()
. Die neuen Elemente werden immer an das Ende der List angehängt.
programmiersprachen.append('Delphi')
motorraeder = []
motorraeder.append('honda')
motorraeder.append('yamaha')
motorraeder.append('dicati')
Einfügen von Elementen#
Ein Element kann jeder beliebigen Position in die List eingefügt werden. Dazu wird insert()
verwendet. Erwartet die Angaben der Stelle, an die das Element eingefügt werden soll und welches Element.
programmiersprachen = ['python', 'javascript', 'java', 'c++', 'c']
programmiersprachen.insert(1, 'c#')
programmiersprachen.insert(-2, 'Pascal')
Entfernen von Elementen#
Elemente müssen auch aus einer List entfernt werden können und dazu kann die Funktion pop()
verwendet werden. In der einfachsten Verwendung entfernt pop() immer das letzte Element in der Liste.
programmiersprachen = ['python', 'javascript', 'java', 'c++', 'c']
programmiersprachen.pop()
Bemerkung
pop() gibt immer das Element, dass entfernt wurde als Rückgabewert zurück, kann in einer Variablen gespeichert werden und weiter verarbeitet werden.
programmiersprachen = ['python', 'javascript', 'java', 'c++', 'c']
sprache = programmiersprachen.pop()
print(f'{sprache.title()} habe ich nie gelernt')
Elemnte können auch anhand ihrer Position aus der List mit pop()
entfernt werden. Dazu muss in den Klammern die Position des zu löschenden Elementes angegeben werden.
programmiersprachen = ['python', 'javascript', 'java', 'c++', 'c']
sprache = programmiersprachen.pop(2)
print(f'{sprache.title()} ist auch nur eine Insel')
Warnung
Jedes mal, wenn pop() verwendet wird, wird das Element aus der List gelöscht und ist auch nicht mehr vorhanden
Manchmal kennt man die Position eines Elementes nicht, sondern nur dessen Wert. Bei diesem Problem kann die remove()
Funktion hefen. remove() wird der Wert in den Klammer übergeben und er wird aus der List entfernt.
programmiersprachen = ['python', 'javascript', 'java', 'c++', 'c']
sprache = programmiersprachen.remove('java')
Index ermitteln#
Die Funktion index() durchsucht eine List von vorne an nach einem gegebene Wert und gibt den Index des ersten Vorkommens zurück. Der Funktion kann auch der Start- und der Endindex übergeben werden, um einen Suchbereich anzugegeben. Der Endindex wird nicht mit in die Suche einbezogen.
programmiersprachen = ['python', 'javascript', 'java', 'c++', 'c']
wert_index = programmiersprachen.index('c++')
print(wert_index)
programmiersprachen.pop(wert_index)
print(programmiersprachen)
print(programmiersprachen.index('javascript', 1, 2))
Lists organisieren#
In der Regel sind die List in einer unsortierten Reihenfolge, weil zum Beispiel nicht überprüft werden kann, wie ein User Daten in ein Programm eingubt. Deshalb bietet Python uns die Möglichkeit unsere Lists zu sortieren.
Lists permanent sortieren#
Mit der sort()
-Funktion können Lists einfach und permanent nach dem Alphabet sortiert werden.
programmiersprachen = ['python', 'javascript', 'java', 'c++', 'c']
programmiersprachen.sort()
print(programmiersprachen)
Die List kann auch rückwärts in alphabetischer Reihenfolge permanent sortiert werden. Dazu wird der sort()-Funktion der Parameter reverse=True
übergeben.
programmiersprachen = ['python', 'javascript', 'java', 'c++', 'c']
programmiersprachen.sort(reverse=True)
print(programmiersprachen)
Vorsicht
sort() sortiert die Liste dauherhaft nach dem Alphabet
Lists temporär sortieren#
Um die vorhandene Reihenfolge zu behalten und die List nur vorrübergehend zu sortieren und damit zu verändern, kann die Funktion sorted()
verwendet werden.
programmiersprachen = ['python', 'javascript', 'java', 'c++', 'c']
print(sorted(programmiersprachen))
print(programmiersprachen)
List in umgekehrter Reihenfolge#
Reihenfolge rückwärts. Permanent
programmiersprachen = ['python', 'javascript', 'java', 'c++', 'c']
programmiersprachen.reverse()
print(programmiersprachen)
Anzahl der Elemente in ein list#
Mit der len()
-Funktion wird die Anzahl der Elemente in einer List wiedergegeben.
programmiersprachen = ['python', 'javascript', 'java', 'c++', 'c']
print(len(programmiersprachen))