Python3 – Listen

Listen sind ein teil von dem, was Python zu so einer tollen Programmiersprache machen. Eigentlich sind sie nichts anderes als eine Sammlung beliebiger Werte. Das beliebig macht sie hierbei so besonders. Nützlich ist das in vielen Fällen.  Als einfaches Beispiel das lesen einer Datei. Hier kann es sich anbieten, aus jeder Zeile eine Liste zu machen (Trenner ein Leerzeichen) und diese wieder in eine Liste zu hängen. So kann man Bequem auf jede Zeile und dort auf jedes Wort zugreifen. Das zeige ich aber gleich, erst einmal ein paar einfache Funktionen und die sogenanten Splices:

Die hier gezeigten List Splices sind in vielen Situationen hilfreich. Z.b. in der Schleife:

Zu beachten ist hier der Index. Der Beginnt mit 0 für das erste Element. Wenn ich jedoch einen Bereich festlege wie z.B. meine_liste[3:6] ist 6 auch das sechste Element, aber 3 das vierte.

Details dazu habe ich noch mal hier zusammengefasst.

Beispiel mit Datei

Und nun das versprochene Beispiel, von der Datei zur Liste. Datei operationen sind in Python ziemlich unspektakulär. Die erste Zeile liest nämlich schon die ganze Datei in die Liste. Genauer gesagt das readlines().  Die Listen Einträge repräsentieren nun die einzellnen Zeilen als langer String. Split kann diese am Leerzeichen auftrennen, und gibt das erneut als Liste zurück. Split akzeptiert übrigens als Parameter auch jedes andere Zeichen.

Ab jetzt der weg zur Liste in der Liste. Wie erwähnt besteht die Liste aus beliebigen Inhalten. Das können also, Strings und Integer, aber genauso weitere Listen, Dictionarys oder Funktionen sein.

Ein kürzerer Weg wäre die List Comprehension. Diese fasst unsern Container und die Schleife direkt zusammen.

Weitere Listenfunktionen

Gibt es einen Wert in der Liste (siehe auch den Abschnitt Performance)

Wert an eine Liste anhängen:

Aber Achtung:

Bug? Nein Feature. Listen können ziemlich groß werden. Es wäre oft nicht effizient diese einmal komplett im Speicher zu kopieren, obwohl man eigentlich vielleicht nur den Namen ändern will. Was also hier gerade passiert ist,  ist das wir mit liste2 eine weitere Variable auf die erste Liste zeigen lassen. Braucht man eine eigenständige Liste, muss man explizit kopieren:

Zum diesem Thema (Mutalbe und Imutable Typen), schreibe ich jedoch noch einen komplett eigenen Beitrag.

Fazit

Dies hier ist nur ein ganz kleiner Einstieg in Listen. Man kann mit ihnen noch so einiges mehr machen. Dazu schaut kurz mal in der Python Doc vorbei. Aus meiner Erfahrung sind sie sehr praktisch und lösen viele Aufgaben.

Der Schnellkurs

Bei Fragen hinterlasse mir  einfach ein Kommetar.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*