Objektsammlungen in Listen (Python)
https://oer-informatik.de/python_listen
https://bildung.social/@oerinformatik
tl/dr; (ca. 10 min Lesezeit): Listen stellen eine mächtige und flexible Objektsammlung in Python dar. Der Artikel zeigt, wie Elemente erzeugt, verändert, gelöscht und ausgegeben werden. (Zuletzt geändert am 02.03.2024)
Grundlagen
Die Elemente von Listen können geändert, gelöscht und angefügt werden (sie sind mutable). Wie bei Tupeln kann auf die einzelnen Elemente über deren Index zugegriffen werden und es können Dopplungen enthalten sein. Listen sind in ihrer Länge variabel und verfügen über eine innere Ordnung.
Listen sind in Python als eine Klasse implementiert, die eine Reihe von Methoden anbietet - viele davon sind bereits durch den Namen selbsterklärend.

Am besten kann man Listen kennenlernen, in dem man sie mithilfe der Pythonshell erforscht:
Schritt 1: Einfache Listenoperationen
Es wird eine einfache Liste erzeugt, die die Werte des Spiels “Schere, Stein, Papier” speichert und verwaltet.
Einer neuen Liste Werte zuweisen:
Den Datentyp eines List-Objekts ausgeben:
Den Inhalt einer List auf der Konsole ausgeben:
Ein bestimmtes Element einer List ausgeben
Ebenso lassen sich über den Index 0
das erste und über den Index -1
das letzte Element ansprechen.
Ein Element einer Liste (an bestehender Position) zuweisen
Die Länge einer Liste ausgeben
Ein Element einer Liste löschen
Übungen zu einfachen Listenoperationen
Gegeben ist die folgende gefüllte Liste:
Schreibe ein Programm, dass die Liste erzeugt und auf der Konsole ausgibt
Ändere vor der Ausgabe Maus zu Wellensittich
Lösche vor der Ausgabe die Katze
Frage den Benutzer nach der Ausgabe nach dem Index des Tiers, das er austauschen will und nach dem Namen des Tiers, dass stattdessen dort stehen soll.
Gebe die neue Liste und die Länge der Liste aus.
Schritt 2: Listenmethoden
Eine leere Liste erzeugen
Elemente an eine Liste anhängen
Ein neues Element am Index 1 (2. Position) einfügen:
Ein neues Element am Index 0 (1. Position) einfügen:
Ein neues Element an die vorletzte Position einfügen:
Ein neues Element an die letzte Position einfügen - macht man natürlich eigentlich mit insert()
, aber so ginge es auch:
Iterieren durch Listen
Übung zu Listenmethoden
Erstelle eine leere Liste, in der die Marvel-Charaktere gespeichert werden sollen. Nenne die Liste “Avengers”
Füge der Liste per Methode das neue Element “Iron Man” an
Füge der Liste per Methode die neuen Elemente “Captain America” und “Thor” an
Gebe die Liste aus.
Füge an der zweiten Stelle “Black Widow” ein.
Füge an der fünften Stelle “Superman” ein.
Füge an der sechsten Stelle “Bat man” ein.
Füge an der vierten Stelle “Hulk” ein.
Lösche das letzte Element.
Ersetze das fünfte Element durh “Hawkeye”
Gebe die Liste aus.
Schon fertig? Dann erstelle eine Schleife, die so lange läuft, bis der Benutzer “e” (für Ende) eingibt, in der der Benutzer
per “l” die aktuelle Liste ausgeben kann
per “c” einen neuen Wert an eine gebene Position einfügen kann,
per “r” den Wert an einer einzugebenden Position ausgeben kann,
per “u” einen Wert (an eingegebener Position) updaten kann,
per “d” einen Wert (an eingegebener Position) löschen kann.
Listen als Referenztypen
Listen verhalten sich anders als Werttypen. Welches Verhalten verwundert, wenn man folgendes ausprobiert? Was lässt sich daraus für Listen ableiten?
Teillisten / Slices
Wir können in Python relativ einfach Listenabschnitte kopieren, sogenannte Slices. Die Notation ist dabei
Wobei start
der erste Index ist, der in der Teilliste enthalten sein soll und ende
der erste Index ist, der nicht mehr in der Liste enthalten sein soll.
Die folgenden Beispiele werden mit der folgenden Liste umgesetzt, die Ursprungsliste selbst wird hierbei nicht verändert, sondern lediglich eine Kopie erzeugt:
Slices können auch zur Datenverarbeitung genutzt werden.
Type-Annotations für Listen
Type-Annotations geben Hinweise auf verwendete Datentypen, ohne eine funktionale Bedeutung für die Ausführung des Codes zu haben. Sie sind in Python optional und dienen ähnlich wie Kommentare nur dem Verständnis. Für Listen sind keine Type-Annotations im normalen Sprachumfang von Python enthalten. Sie müssen daher aus typing
importiert werden.
Will man beschreiben, dass in marthas_haustiere
eine Liste aus Zeichenketten gespeichert werden soll, so lautet der Code folgendermaßen:
Weitere Literatur zu Listen
Hinweis zur Nachnutzung als Open Educational Resource (OER)
Dieser Artikel und seine Texte, Bilder, Grafiken, Code und sonstiger Inhalt sind - sofern nicht anders angegeben - lizenziert unter CC BY 4.0. Nennung gemäß TULLU-Regel bitte wie folgt: “Objektsammlungen in Listen (Python)” von oer-informatik.de (H. Stein), Lizenz: CC BY 4.0. Der Artikel wurde unter https://oer-informatik.de/python_listen veröffentlicht, die Quelltexte sind in weiterverarbeitbarer Form verfügbar im Repository unter https://gitlab.com/oer-informatik/python-basics/erste-schritte-mit-python. Stand: 02.03.2024.
[Kommentare zum Artikel lesen, schreiben] / [Artikel teilen] / [gitlab-Issue zum Artikel schreiben]