# 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](https://www.ionos.at/digitalguide/websites/web-entwicklung/python-list/ "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](https://www.ionos.at/digitalguide/websites/web-entwicklung/python-extend/) und [Python append](https://www.ionos.at/digitalguide/websites/web-entwicklung/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**:

```Python
zutaten.insert(1, "Zucker")
```

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:

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

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](https://www.ionos.at/digitalguide/websites/web-entwicklung/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:

```Python
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']
```

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](https://www.ionos.at/hosting/deploy-now "Deploy Now von IONOS") von IONOS das perfekt für Sie!

## Alternativen zu Python insert

Je nachdem, welches Verhalten Sie benötigen, gibt es einige [Python-Operatoren](https://www.ionos.at/digitalguide/websites/web-entwicklung/python-operatoren/ "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:

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

### 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:

```Python
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']
```

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.


This is a markdown version of: [https://www.ionos.at/digitalguide/websites/web-entwicklung/python-insert/](https://www.ionos.at/digitalguide/websites/web-entwicklung/python-insert/) for AI/LLM consumption.