# Python append: Listen einfach erweitern

Die append-Methode kann benutzt werden, um ein Element am Ende einer vorhandenen [Python List](https://www.ionos.at/digitalguide/websites/web-entwicklung/python-list/ "Python List") hinzuzufügen. Falls Sie mehrere Elemente gleichzeitig anhängen oder ein Element an einem bestimmten Index einfügen möchten, bieten sich jeweils die Methoden [Python extend](https://www.ionos.at/digitalguide/websites/web-entwicklung/python-extend/) und [Python insert](https://www.ionos.at/digitalguide/websites/web-entwicklung/python-insert/) an.

## Python append: Wie funktioniert die Methode?

Mit der append-Methode können Sie **ein Element am Ende einer schon vorhandenen List hinzufügen**. Dabei darf das hinzuzufügende Element einen beliebigen Datentyp annehmen. Sie können also damit Python Lists sowohl mit einfachen Datentypen (z. B. Ganzzahlen, Gleitkommazahlen usw.) als auch mit komplexeren Datentypen (z. B. weitere Lists) befüllen.

Die Syntax für die Methode ist wie folgt:

```Python
liste.append(element)
```

Hier ist `liste` der Name der Liste, und `element` das hinzuzufügende Element. Im folgenden Beispiel werden Elemente verschiedener Datentypen zur selben Liste hinzugefügt:

```Python
liste = [1, 2, 3]
liste.append(4)
zahl = "Fünf"
liste.append(zahl)
print(liste)	# Ausgabe: [1, 2, 3, 4, 'Fünf']
```

Wie zu sehen ist, können Sie mit `append()` einer Liste in Python ein Element **eines beliebigen Datentyps** hinzufügen. Das anzuhängende Element können Sie entweder direkt als Parameter eingeben oder vorher als Variable anlegen und dann diese übergeben. Wenn Sie allerdings versuchen, mit `append()` mehrere Elemente gleichzeitig hinzuzufügen, kommen Sie an die Grenzen der Methode. Dies wird im folgenden Beispiel deutlich:

```Python
liste2 = [6, 7]
liste.append(liste2)
print(liste)	# Ausgabe: [1, 2, 3, 4, 'Fünf', [6, 7]]
```

Die Liste `liste2` wurde in diesem Fall beim Aufruf der Methode als Parameter übergeben. Anstatt die Elemente aus `liste2` der anderen Liste hinzuzufügen, hat die Methode einfach `liste2` selbst als einzelnes Element hinzugefügt. Daraus ist eine verschachtelte Liste entstanden, die in diesem Fall nicht erwünscht ist. Dieses Problem kann gelöst werden, indem man mit einer [Python For Loop](https://www.ionos.at/digitalguide/websites/web-entwicklung/for-loop-in-python/) über `liste2` iteriert und jedes Element einzeln hinzufügt.

```Python
for zahl in liste2:
	liste.append(zahl)
print(liste)	# Ausgabe: [1, 2, 3, 4, 'Fünf', [6, 7], 6, 7]
```

Diese Lösung ist etwas unschön. Daher ist in solchen Fällen die Methode Python extend die bessere Wahl, die mehrere Elemente gleichzeitig einer Liste hinzufügen kann.

## Anwendung auf andere Datenstrukturen

Obwohl die Python-append-Methode am häufigsten bei der Verwaltung von Listen Einsatz findet, kann sie auch auf **andere gängige Datenstrukturen** in Python angewandt werden. Allerdings gibt es dabei ein paar wichtige Unterschiede, die Sie beachten müssen.

### Arrays

[Python Arrays](https://www.ionos.at/digitalguide/websites/web-entwicklung/python-array/ "Python Array") gehören nicht zu der Python-Standardbibliothek und müssen aus einem externen Python-Modul wie `numpy` oder `array` importiert werden. Wenn es für Sie aber wichtig ist, mit **Speicherplatz und Rechenleistung effizient umzugehen**, dann sind Arrays oft eine bessere Wahl als Lists. Dafür sind Arrays aber etwas eingeschränkter, da sie nur Elemente enthalten können, die **denselben Datentyp** haben. Dieser Datentyp wird beim Anlegen des Arrays festgelegt. Entsprechend ist es mit der append-Methode auch unmöglich, einem Array Elemente unterschiedlichen Datentyps hinzuzufügen. Dies ist im folgenden Beispiel veranschaulicht:

```Python
import numpy as np
array1 = np.array('i', [100, 101, 102])
array1.append(103)
print(array1)
# Ausgabe: array('i', [100, 101, 102, 103])
array1.append('a') 	# Diese Zeile löst eine Fehlermeldung aus
```

Zudem ist es wichtig zu erwähnen, dass Arrays eine feste Länge haben, die beim Anlegen der Datenstruktur festgelegt wird und im Nachhinein nicht mehr geändert werden kann. Wenn Sie also das Array `[1, 2, 3, 4, 5]` anlegen, hat dieses Array die Länge 5. Python erlaubt es tatsächlich, mit `append()` einem Array ein zusätzliches Element hinzuzufügen. Dafür wird aber im Hintergrund das ganze Array **gelöscht und mit dem zusätzlichen Element wieder neu aufgebaut**. Dies ist zu beachten, wenn mit Systemressourcen effizient umgegangen werden soll.

### Deque

Wie bei Lists und Arrays gibt es auch bei Deque-Datenstrukturen eine append-Methode, die sich sehr ähnlich verhält. Eine Deque (abgekürzt von engl. *double-ended queue*) ist eine Liste, bei der man **sowohl am Ende als auch am Anfang** Elemente hinzufügen oder entfernen kann. Hier verhält sich die append-Methode identisch wie bei einer Liste, aber es gibt eine zusätzliche Methode, nämlich appendleft(). Im Gegensatz zu append() fügt diese Methode das Element auf der linken Seite der Deque ein.

```Python
from collections import deque
natuerliche_zahlen = deque([1, 2, 3])
natuerliche_zahlen.append(4)
natuerliche_zahlen.appendleft(0)
print(natuerliche_zahlen)	# Ausgabe: deque([0, 1, 2, 3, 4])
```

## Anwendungsbeispiel: So können Sie append() einsetzen

Obwohl Sie mit der Python-append-Methode nur einzelne Elemente am Ende einer Liste hinzufügen können, ist sie die perfekte Wahl, wenn Sie beim Hinzufügen eines Elements noch weitere Schritte vornehmen wollen. Ein solcher Fall wird im folgenden Beispiel veranschaulicht: In diesem Beispiel gibt es eine Liste mit großen Zahlen. Jede Zahl wird durch 7 geteilt und der Restbetrag dieser Operation einer zweiten Liste hinzugefügt.

```Python
grosse_zahlen = [2141, 5683, 456, 789, 120, 101, 89005]
restbetrag = []
for zahl in grosse_zahlen:
	restbetrag.append(zahl % 7)
print(grosse_zahlen)	# Ausgabe: [2141, 5683, 456, 789, 120, 101, 89005]
print(restbetrag) 	# Ausgabe: [6, 6, 1, 5, 1, 3, 0]
```

Wie zu sehen, ist append() sehr nützlich, wenn mit Elementen beim Hinzufügen **einzeln umgegangen werden muss**.

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


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