Im zweiten Kapitel habe ich die Variablen, Zahlen und String behandelt.
Nun möchte ich die Listen vorstellen.
Eine Liste beginnt immer mit einer eckigen Klammer und endet mit einer eckigen Klammer. Die Werte innerhalb einer Liste werden mit einem Komma getrennt.
namen = ["Stefan", "Lutz", "Michael"] print(namen)
Ausgabe:
['Stefan', 'Lutz', 'Michael']
Es können auch Datentypen innerhalb der Liste gemixt werden.
Möchte man in der Liste auf einen Wert zugreifen, so kann man dieses mit dem Index lösen.
Das erste Element ist an der Position 0.
namen = ["Stefan", "Lutz", "Michael"] print(namen[0])
Ausgabe:
Stefan
Wenn man sich jedoch die Länge mit der Funktion „len(<<LISTE>>)“ ausgibt, erhält man die Liste mit Index 1 beginnend.
namen = ["Stefan", "Lutz", "Michael"] print(len(namen))
Ausgabe:
3
Funktionen auf Listen
Im ersten Beispiel habe ich eine Liste mit Namen erzeugt und der Variable „namen“ zugewiesen. In der zweiten Zeile des kleinen Programms wurde diese Liste mit der Funktion „print“ ausgegeben.
Nun kann man diese Liste mit verschiedenen Funktionen manipulieren.
append
Wenn eine Liste bereits existiert und man ein zusätzliches Element hinzufügen möchte bedient man sich der Funktion „append“.
namen = ["Stefan", "Lutz", "Michael"] print(namen) namen.append("Horst") print(namen)
Ausgabe:
['Stefan', 'Lutz', 'Michael'] ['Stefan', 'Lutz', 'Michael', 'Horst']
Die erste Zeile enthält die Namen aus der ursprünglichen Liste, die zweite Zeile enthält die ursprüngliche Liste inklusive dem neuen Element „Horst“.
insert
Mit der Funktion „insert“ kann man ein neues Element an einer definierbaren Stelle einfügen.
namen = ["Stefan", "Lutz", "Michael"] namen.insert(0,"Horst") print(namen)
Ausgabe:
['Horst', 'Stefan', 'Lutz', 'Michael']
Wenn die Liste kürzer als der übergebene Index ist, dann wird das Element an das Ende angehängt.
Ist der Index jedoch negativ, so wird vom Ende an nach Links eingefügt. D.h. wenn die Liste 3 Elemente enthält und man fügt ein Element an Position -1 ein, so wird dieses an die Position 3 (Index 2) eingefügt.
namen = ["Stefan", "Lutz", "Michael"] namen.insert(-1,"Horst") print(namen)
Ausgabe:
['Stefan', 'Lutz', 'Horst', 'Michael']
remove
Das Löschen eines Elements wird mit der Funktion „remove“ gemacht.
Der Funktion wird dazu ein Element übergeben.
namen = ["Stefan", "Lutz", "Michael"] namen.remove("Lutz") print(namen)
Ausgabe:
['Stefan', 'Michael']
Sollte dieses Element nicht existieren, so wird eine Fehlermeldung ausgegeben.
namen = ["Stefan", "Lutz", "Michael"] namen.remove("Luzt") print(namen) --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-66-c8bf6fc410c7> in <module>() 1 namen = ["Stefan", "Lutz", "Michael"] ----> 2 namen.remove("Luzt") 3 print(namen) ValueError: list.remove(x): x not in list
In diesem Beispiel habe ich einen Rechtschreibfehler im Namen „Lutz“.
pop
Die Funktion „pop“ entfernt ein Element aus der Liste und liefert dieses zurück. Somit erledigt diese Funktion 2 Aktionen in einem Zuge.
namen = ["Stefan", "Lutz", "Michael"] name = namen.pop(1) print(name) print(namen)
Ausgabe:
Lutz ['Stefan', 'Michael']
Wenn nun der Funktion ein negativer Wert übergeben wird, so liefert und löscht diese das Element vom Ende her.
namen = ["Stefan", "Lutz", "Michael", "Horst"] name = namen.pop(-2) print(name) print(namen)
Ausgabe:
Michael ['Stefan', 'Lutz', 'Horst']
count
Die Funktion „count“ liefert die Anzahl der Vorkommen eines Wertes zurück.
namen = ["Stefan", "Lutz", "Stefan", "Michael", "Stefan","Horst"] print(namen.count("Stefan"))
Ausgabe:
3
reverse
Nutzt man die Funktion „reverse“ so wird die Liste umgekehrt.
namen = ["A", "B", "C", "D", "E","F"] namen.reverse() print(namen)
Ausgabe:
['F', 'E', 'D', 'C', 'B', 'A']
Es gibt noch deutlich mehr Funktionen welche auf Listen angewendet werden können, einen erweiterten Überblick erhältst du auf der Seite https://docs.python.org.
Mehrdimensionale Listen
Da wie eingangs erwähnt, eine Liste beliebig viele Daten und von beliebigen Datentypen aufnehmen kann, kann man auch eine Liste in eine Liste packen. Dieses nennt man dann eine mehrdimensionale Liste.
person1 = ["Stefan", "Draeger", 38] person2 = ["Max", "Mustermann",23] person3 = ["Horst", "Meier", 56] personen = [person1, person2, person3] print(personen)
Ausgabe:
[['Stefan', 'Draeger', 38], ['Max', 'Mustermann', 23], ['Horst', 'Meier', 56]]
In diesem Beispiel habe ich nun 3 Listen in eine Liste gepackt. Nun kann man mit dem Index aus der ersten Liste auf die Personen zugreifen.
print(personen[0])
Ausgabe:
['Stefan', 'Draeger', 38]
Möchte man nun zusätzlich auf ein Element aus dieser Liste zugreifen, so wird mit einem zusätzlichen Index gearbeitet.
print(personen[0][2])
Ausgabe:
38
Nun kann man wiederum diese Listen mit den vorgenannten Funktionen manipulieren. D.h. wenn wir jetzt eine neue Person hinzufügen wollen, dann schreiben wir:
person1 = ["Stefan", "Draeger", 38] person2 = ["Max", "Mustermann",23] person3 = ["Horst", "Meier", 56] personen = [person1, person2, person3] person4 = ["Maria", "Butter", 42] personen.append(person4) print(personen)
Ausgabe:
[['Stefan', 'Draeger', 38], ['Max', 'Mustermann', 23, 67], ['Horst', 'Meier', 56], ['Maria', 'Butter', 42]]
2 thoughts on “Python #3: Listen”