# Python extend: So fügt man zwei Listen zusammen

Die Python-extend-Methode bietet Programmiererinnen und Programmierern die Möglichkeit, eine **bereits existierende Liste um die Elemente einer zweiten Liste zu erweitern**. Dabei ist wichtig zu wissen, dass die anzuhängende Elemente am Ende der Liste hinzugefügt werden – wenn Sie ein Element an einem bestimmten Index einer Liste hinzufügen oder nur einzelne Elemente anhängen möchten, sind [Python insert](https://www.ionos.de/digitalguide/websites/web-entwicklung/python-insert/) oder [Python append](https://www.ionos.de/digitalguide/websites/web-entwicklung/python-append/) die bessere Wahl.

## Python extend – Funktionsweise und Syntax

Die Funktionsweise von `extend()` ist sehr einfach – die Methode **nimmt eine Liste und hängt an ihrem Ende eine zweite Liste an**, sodass das erste Element der zweiten Liste direkt nach dem letzten Element der ersten Liste steht. Daraus wird die erste Liste um die Elemente der zweiten Liste erweitert. Programmiererinnen und Programmierer nennen dieses Verfahren *Konkatenation*. Die Syntax von `extend()` ist simpel, wie in folgender Code-Zeile zu sehen:

```Python
liste.extend(liste2)
```

In diesem Beispiel werden die Elemente aus `liste2` am Ende von `liste` angehängt. Dabei wird aber keine neue Liste mit allen Elementen zurückgegeben – stattdessen wird die ursprüngliche Liste **direkt modifiziert**. Die zweite Liste wird im Gegensatz zur ursprünglichen **nicht modifiziert**. Die Funktionsweise von `extend()` wird im folgenden konkreten Beispiel anschaulich:

```Python
liste = ["eins", "zwei", "drei"]
liste2 = ["vier", "fuenf", "sechs"]
liste.extend(liste2)
print(liste) # Ausgabe: ['eins', 'zwei', 'drei', 'vier', 'fuenf', 'sechs']
liste.extend([7, 8, 9])
print(liste) # Ausgabe: ['eins', 'zwei', 'drei', 'vier', 'fuenf', 'sechs', 7, 8, 9]
```

Wie zu sehen ist, verhält sich die Methode genau wie erwartet. Die anzuhängende Liste können Sie entweder im Vorhinein als Objekt anlegen oder beim Aufruf der Methode direkt als Parameter übergeben. Das Beispiel zeigt auch, dass die Elemente der anzuhängenden Listen einen beliebigen Datentyp annehmen können. Das ist möglich, weil eine Python-Liste heterogen sein kann, d. h. sie kann Elemente verschiedener Datentypen enthalten.

Obwohl `extend()` am häufigsten benutzt wird, um zwei Listen zu konkatenieren, gibt es auch andere Anwendungen dieser Methode, die Sie kennen sollten. Die extend-Methode akzeptiert nicht nur Listen als Parameter, sondern alle **iterable-Objekte** (Objekte, die Elemente enthalten, über denen man iterieren kann). Zu diesen Iterables gehören u. a. [Python Lists](https://www.ionos.de/digitalguide/websites/web-entwicklung/python-list/ "Python List"), [Python Strings](https://www.ionos.de/digitalguide/websites/web-entwicklung/python-string/ "Python String") und [Python Dictionaries](https://www.ionos.de/digitalguide/websites/web-entwicklung/python-dictionary/ "Python Dictionary"). Beim Aufruf von `extend()` kann irgendein Iterable als Parameter übergeben werden. Die Bestandteile des Iterables werden der Liste dann einzeln hinzugefügt. Diese Eigenschaft wird im folgenden Beispiel verdeutlicht.

```Python
chars = ['a', 'b', 'c']
string = "def"
chars.extend(string)
print(chars) # Ausgabe: ['a', 'b', 'c', 'd', 'e', 'f']
```

In diesem Beispiel wurde ein String (eine Zeichenkette) als Argument übergeben. Dabei wurden die einzelnen Bestandteile des Strings (die Zeichen) einzeln der Liste hinzugefügt.

## Alternativen zu Python extend

Die extend-Methode bietet Ihnen eine elegante Lösung, eine Liste um die Elemente einer anderen Liste zu erweitern. Es gibt jedoch ein paar Alternativen, die Sie kennen sollten.

### Der Additions-Operator

Der Additions-Operator (bzw. das Pluszeichen) ist einer der gängigsten [Python-Operatoren](https://www.ionos.de/digitalguide/websites/web-entwicklung/python-operatoren/) und wird meistens zur Addition von zwei Zahlen verwendet. Er kann in Python aber auch zu anderen Zwecken genutzt werden, auch für das Zusammenfügen von Listen. Mit dem Additions-Operator ist es sogar möglich, **beliebig viele Listen gleichzeitig zusammenzufügen**. Dies wird im folgenden Beispiel verdeutlicht:

```Python
europa = ["Deutschland", "Finnland"]
asien = ["China", "Indien"]
afrika = ["Sudan", "Mali"]
laender = europa + asien + afrika
print(europa) # Ausgabe: ['Deutschland', 'Finnland']
print(asien) # Ausgabe: ['China', 'Indien']
print(afrika) # Ausgabe: ['Sudan', 'Mali']
print(laender) # Ausgabe: ['Deutschland', 'Finnland', 'China', 'Indien', 'Sudan', 'Mali']
```

Wie zu sehen ist, liefert diese Vorgehensweise fast das gleiche Ergebnis wie `extend()`, jedoch gibt es einen sehr wichtigen Unterschied. Im Gegensatz zur extend-Methode modifiziert der Additions-Operator keine von den übergebenen Listen – **stattdessen wird das Ergebnis als neue Liste zurückgegeben**. Da dafür ein neues Objekt im Speicher angelegt wird, ist der Additions-Operator beim Zusammenfügen zweier Listen etwas ineffizienter als die extend-Methode. Dies sollte berücksichtigt werden, wenn Sie mit sehr großen Listen arbeiten oder Ihr Programm möglichst effizient sein soll.

Tipp Wenn Sie anstatt des Additions-Operators den **Konkatenations-Operator** (+=) benutzen, wird keine zusätzliche Liste erstellt, sondern die ursprüngliche modifiziert. Dadurch wird der Effizienznachteil des Additions-Operators umgangen, jedoch funktionieren `extend()` und `+=` nicht bei allen Iterables gleich.

### Die append-Methode

Die append-Methode hat eine ähnliche Funktionsweise wie `extend()`, unterscheidet sich aber dadurch, dass sie einer Liste **nur ein einzelnes Element hinzufügen** kann. Entsprechend ist es auch unmöglich, dieser Methode ein Iterable zu übergeben. Das folgende Beispiel dient zur Veranschaulichung:

```Python
list = [0, 1, 1, 2]
list.extend([3])
print(list) # Ausgabe: [0, 1, 1, 2, 3]
list.append(5)
print(list) # Ausgabe: [0, 1, 1, 2, 3, 5]
```

Hier liefern `extend()` und `append()` dasselbe Ergebnis, außer dass man bei `append()` das hinzuzufügende Element nicht in eckigen Klammern angeben muss. Wenn man mit `append()` allerdings mehrere Elemente der Liste hinzufügen möchte, müsste man mit einer [Python-For-Loop](https://www.ionos.de/digitalguide/websites/web-entwicklung/for-loop-in-python/ "For-Loop in Python") über eine schon vorhandene Liste iterieren. Daher ist `append()` nur sinnvoll, wenn es sich wirklich nur um ein einzelnes Element handelt.

Tipp Sie wollen Ihre Website oder andere Webanwendung schnell, leicht und sogar direkt über Git online bringen? Dann ist [Deploy Now](https://www.ionos.de/hosting/deploy-now "Deploy Now von IONOS") von IONOS die perfekte Plattform für Sie.


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