Python insert: So fügt man Elemente in Listen ein

Python bietet eine ganze Reihe von eingebauten Methoden, die die Umsetzung Ihres Programms vereinfachen und beschleunigen. Dazu gehört u. a. die Python-insert-Methode, mit der Sie ein einzelnes Element in eine bereits existierende Python List einfügen können. Falls Sie mehrere Elemente gleichzeitig der Liste hinzufügen wollen oder nur einzelne Elemente am Ende anhängen wollen, bieten sich die Methoden Python extend und Python append an.

Python insert – Syntax, Parameter und Funktionsweise

Die insert-Methode nimmt zwei Werte als Parameter: einmal das einzufügende Element und einmal den Index, an dem das Element eingefügt werden soll. Da Python-Listen heterogen sind, darf dieses Element einen beliebigen Datentyp annehmen (z. B. Liste, Integer usw.). Der Index muss hingegen als Integer angegeben werden. Die folgende Code-Zeile zeigt die insert-Syntax:

zutaten.insert(1, "Zucker")
Python

In diesem Beispiel wird die String (deutsch: „Zeichenkette“) "Zucker" an Stelle 1 in der Liste zutaten eingefügt. Der Index, an dem das Element (die String) eingefügt werden soll, wird als erstes Argument übergeben, das Element selbst als zweites. Wie gewohnt dürfen beide Parameter entweder direkt übergeben werden oder vor dem Aufruf der Methode als Variablen angelegt werden. Das folgende Beispiel verdeutlicht die Funktionsweise der Methode:

zutaten = ["Mehl", "Eier", "Butter"]
zutaten.insert(0, "Zucker")
print(zutaten) # Ausgabe: ['Zucker', 'Mehl', 'Eier', 'Butter']
Python

Hier wird eine Liste von Backzutaten um zwei weitere Zutaten erweitert, die jeweils an den Indizes 0 und 2 eingefügt werden. Es ist wichtig zu beachten, dass die Indizierung in Python bei 0 beginnt, wie in den meisten anderen Programmiersprachen auch. Das bedeutet, dass das erste Element den Index 0 hat, das zweite Element den Index 1 und so weiter. Wenn ein Element mit insert() in eine Liste eingefügt wird, muss dafür natürlich Platz gemacht werden. Um diesen Platz zu schaffen, werden das an dem Index schon vorhandene Element und alle seine Nachfolger um eine Position nach rechts verschoben.

Wenn der angegebene Index außerhalb des gültigen Bereichs der Liste liegt (z. B. größer als die Anzahl der Elemente in der Liste), wird das Element einfach am Ende der Liste eingefügt. In diesem Fall verhält sich insert() identisch zur Python-append-Methode. Wenn allerdings ein negativer Index angegeben wird, wird dieser als Abstand zum Ende der Liste interpretiert. Zum Beispiel entspricht -1 dem vorletzten Element, -2 dem davor und so weiter. Diese beiden Eigenschaften zeigen wir im folgenden Beispiel:

zutaten.insert(10, "Backpulver")
print(zutaten) # Ausgabe: ['Zucker', 'Mehl', 'Eier', 'Butter', 'Backpulver']
zutaten.insert(-2, "Salz")
print(zutaten) # Ausgabe: ['Zucker', 'Mehl', 'Eier', 'Salz', 'Butter', 'Backpulver']
Python
Tipp

Sie suchen eine Plattform, mit der Sie Ihre Website oder eine andere Webanwendung möglichst einfach, schnell und reibungslos online bringen können? Dann ist Deploy Now von IONOS das perfekt für Sie!

Alternativen zu Python insert

Je nachdem, welches Verhalten Sie benötigen, gibt es einige Python-Operatoren, die sich als Alternativen zu insert() anbieten. Wir stellen Ihnen zwei davon vor.

Der Index-Operator

Mit dem Index-Operator lässt sich ein Element an einem angegebenen Index in einer Liste auslesen oder überschreiben. Somit ist es mit dem Index-Operator möglich, ein Element in einer Liste durch ein anderes zu ersetzen. Dies ist im folgenden Beispiel veranschaulicht:

print(zutaten) # Ausgabe: ['Zucker', 'Mehl', 'Eier', 'Salz', 'Butter', 'Backpulver']
zutaten[2] = "Natron"
print(zutaten) # Ausgabe: ['Zucker', 'Mehl', 'Natron', 'Salz', 'Butter', 'Backpulver']
Python

Der Slice-Operator

Wenn Sie allerdings keine Elemente aus Ihrer Liste löschen möchten, oder vielleicht sogar mehrere Elemente gleichzeitig mittig in Ihrer Liste einfügen wollen, ist der Slice-Operator die bessere Wahl. Im Gegensatz zum Index-Operator liefert der Slice-Operator nicht ein einzelnes Element aus einer Liste, sondern eine Untersequenz der Liste. Also könnte man aus unserer Liste zutaten die Elemente an den Indizes 3 bis 5 ausgeben lassen und damit die Untersequenz ['Salz', 'Butter', 'Backpulver'] erhalten. Im folgenden Beispiel zeigen wir Ihnen, wie Sie mit dem Slice-Operator beliebig viele Elemente mittig in Ihrer Liste einfügen können:

einzufuegen = ["Mehr Zucker", "Noch mehr Zucker"]
zutaten = zutaten[:3] + einzufuegen + zutaten[3:]
print(zutaten)
# Ausgabe: ['Zucker', 'Mehl', 'Natron', 'Mehr Zucker', 'Noch mehr Zucker', 'Salz', 'Butter', 'Backpulver']
Python

Hier wurde die Liste einzufuegen mittig in die Liste zutaten eingefügt. Dafür haben wir mit dem Slice-Operator zuerst alle Elemente aus zutaten bis zum Index 3 genommen und diese mit einzufuegen konkateniert. Anschließend haben wir alle Elemente aus zutaten ab dem Index 3 genommen und unsere Liste wiederum mit dieser konkateniert. Letztlich haben wir zutaten mit der Liste, die aus dieser doppelten Konkatenation entstanden ist, überschrieben.

Es ist wichtig zu beachten, dass diese Lösung viele Schreibvorgänge benötigt, da die ganze Liste überschrieben wird. Dies sollte berücksichtigt werden, wenn Ihr Programm sehr effizient sein soll und Sie mit sehr großen Listen arbeiten.