Zum Inhalt springen

Python Lists – einfach erklärt!

  • Python

Python Lists werden dafür genutzt mehrere Elemente in einer einzigen Variable zu speichern. Sie sind eine von insgesamt vier Datenstrukturen, die bei Python bereits vorinstalliert sind. Neben der Liste zählen dazu auch die Tuple, das Set und das Dictionary.

Eine Python List definieren wir, indem wir die Elemente in eckigen Klammern schreiben. Wir können in einer Liste Elemente mit unterschiedlichen Datentypen speichern. Eine zweite Möglichkeit zur Erstellung von Listen ist durch Aufruf des „list()“ Befehls. Dazu müssen die Elemente in doppelten, runden Klammern geschrieben sein. Diese Schreibweise wird jedoch eher selten genutzt.

Python List

Wie kann man Listenelemente abrufen?

Die Elemente einer Python List haben einen Index, der für jedes Element die Reihenfolge festlegt. Die einzelnen Elemente einer Liste können über ihren entsprechenden Index aufgerufen werden. Hierbei muss natürlich beachtet werden, dass unser Computer bei 0 anfängt zu zählen. Das erste Elemente der Liste hat also den Index 0. Eine Liste in Python hat dabei immer nur numerische Indizes, die bei Null starten. Diese können auch nicht verändert werden und beispielsweise durch Indizes in Textform ersetzt werden.

Python List

Über den Index ist es auch möglich das letzte Element der Liste aufzurufen, ohne die Länge der Liste zu kennen und somit den konkreten Index. Mithilfe des negativen Index können wir Objekte aus der Liste von hinten beginnend aufrufen. Bei dieser Zählweise beginnen wir wiederum bei 1 und nicht bei 0.

Python List

Wenn wir nicht nur einzelne Elemente der Liste abfragen wollen, sondern einen kompletten Bereich, können wir diesen definieren, indem wir den Anfangs- und Endindex angeben. Dabei ist zu beachten, dass der Anfangsindex Teil der Ausgabe ist, der Endindex hingegen nicht.

Python List

Auffallend ist hierbei, dass die Abfrage eines Listenbereichs immer eine Liste als Ergebnis liefert, auch wenn die Python List nur ein Element hat.

Diese Abfrage lässt sich auch ohne Angabe des Endindex ausführen. Hierfür gibt es zwei Möglichkeiten:

Python List

Bei der ersten Möglichkeit steht in eckigen Klammern der Anfangsindex und dann ein Doppelpunkt. In unserem Beispiel liefert dies das zweite Element und alle anderen Elemente der Liste, die nach dem zweiten Element kommen, egal wie viele Elemente noch folgen, also „Tokyo“, „Montreal“ und „Berlin“

Bei der zweiten Variante steht in eckigen Klammern zuerst ein Doppelpunkt und dann der Anfangsindex. In diesem Fall erhalten wir aus der Python List alle Elemente, die vor dem dritten Element der Liste stehen, also „New York“ und „Tokyo“.

Als Hilfestellung für diese Abfragearten kann man folgenden, kleinen Algorithmus verwenden:

  1. Setze den Cursor vor(!) das Element, das durch die Zahl definiert wird.
  2. Wenn der Doppelpunkt hinter der Zahl steht, also rechts daneben, dann besteht das Ergebnis aus einer Liste mit allen Elementen, die rechts vom Cursor stehen. Wenn der Doppelpunkt vor der Zahl steht, also links daneben, dann besteht das Ergebnis aus einer Liste mit allen Elementen, die links vom Cursor stehen.

Für unsere erste Abfrage „list_1[1:]“ setzen wir den Cursor vor das zweite Element, also vor „Tokyo“. Da der Doppelpunkt rechts von der 1 steht, müssen wir im Ergebnis alle Elemente nutzen, die rechts vom Cursor steht. Somit besteht das Ergebnis aus einer Python List mit den Elementen „Tokyo“, „Montreal“ und „Berlin“.

Wie kann man Listenelemente ändern?

Wenn wir einzelne oder mehrere Elemente einer Python List ändern wollen, rufen wir sie wie oben beschrieben haben auf und definieren, deren Wert einfach neu.

Python List

Gleichzeitig können wir ein Element auch mit der „insert()“ Methode an einer beliebigen Stelle der Liste einfügen, ohne dass wir dabei einen bestehenden Eintrag ändern. Der Index der folgenden Werte erhöht sich entsprechend um 1. Wenn wir einfach an das Ende der Liste ein Element anhängen wollen, können wir das mit der „append()“ Methode tun.

Python List

Natürlich können wir auch Werte aus einer Python List entfernen anstatt sie zu überschreiben. Dazu gibt es die Methoden „pop()“ und „remove()“. Der Unterschied zwischen den Methoden ist, dass „pop()“ den Index als Eingabe nutzt und „remove()“ das konkrete Element.

Python List

Wie können Elemente in einer Liste sortiert werden?

Obwohl die Elemente in der Liste sortiert sind, kann man sie alphabetisch oder numerisch sortieren. Dadurch ändert sich jedoch ihr Index, also die Anordnung innerhalb der Liste:

Python List

Die Anordnung in einer Python Liste lässt sich auch umdrehen, also dass von Z nach A bzw. von großer Zahl zu kleiner Zahl sortiert wird. Dazu benötigt man lediglich den zusätzlichen Parameter „reverse = True“:

Python List

Der Sortieralgorithmus funktioniert jedoch nur, wenn die Python Liste aus Daten mit einem einheitlichen Datentyp besteht. Eine Mischung aus Zahlen und Strings führt zu einem sogenannten „TypeError“:

Python List

Was sind die Unterschiede zwischen NumPy Arrays und Python Lists?

Je nach Quelle gibt es mehrere, grundlegende Unterschiede zwischen NumPy Arrays und Python Lists. Zu den am häufigsten genannten gehören:

  • Speicherverbrauch: Arrays sind so programmiert, dass sie einen gewissen Teil im Speicher für sich beanspruchen. Dort liegen dann alle Elemente des Arrays. Die Elemente einer Liste können hingegen weit im Speicher voneinander entfernt sein. Dadurch verbraucht eine Liste mehr Speicher als das identische Array.
  • Geschwindigkeit: Auch aufgrund des geringeren Speicherverbrauchs können Arrays deutlich schneller verarbeitet werden als Listen. Das kann bei Objekten mit mehreren Millionen Elementen einen signifikanten Unterschied machen.
  • Funktionalitäten: Arrays bieten deutlich mehr Funktionalitäten, beispielsweise ermöglichen sie elementweise Operationen, während Listen das nicht unterstützen.
Python List

Welche Python Sammlungen gibt es?

In Python gibt es insgesamt vier Datentypen, die standardmäßig hinterlegt sind:

  • Die Liste ist eine geordnete Sammlung von Elementen, die änderbar ist und auch doppelte Elemente enthalten kann.
  • Das Tuple ist im Endeffekt eine Liste, mit dem Unterschied, dass es nicht mehr änderbar ist. Es können also keine Elemente mehr nachträglich hinzugefügt oder entfernt werden.
  • Das Set lässt keine doppelten Einträge zu. Gleichzeitig ist die Anordnung der Elemente innerhalb des Sets variabel. Das Set an sich kann verändert werden, aber die einzelnen Elemente können nicht nachträglich geändert werden.
  • Ein Dictionary ist seit der Python Version 3.7 eine geordnete Sammlung von Schlüssel-Wert Paaren, die änderbar ist. In den früheren Versionen ist das Dictionary ungeordnet.

Das solltest Du mitnehmen

  • Python Lists können genutzt werden, um eine Sammlung von Elementen in einer Python Variablen zu speichern.
  • Die Liste ist geordnet und kann mithilfe von Befehlen geändert werden.

Vielen Dank an Deepnote für das Sponsoring dieses Artikels! Deepnote bietet mir die Möglichkeit, Python-Code einfach und schnell auf dieser Website einzubetten und auch die zugehörigen Notebooks in der Cloud zu hosten.

Andere Beiträge zum Thema Python Lists

  • w3schools bietet ausführliche Beispiele zu Python Lists mit der Möglichkeit auch online Codeschnipsel direkt ausführen zu können.
close
Das Logo zeigt einen weißen Hintergrund den Namen "Data Basecamp" mit blauer Schrift. Im rechten unteren Eck wird eine Bergsilhouette in Blau gezeigt.

Verpass keine neuen Beiträge!

Wir versenden keinen Spam! Lies die Details gerne in unserer Datenschutzrichtlinie nach.

Schlagwörter:
Cookie Consent mit Real Cookie Banner