Python append: Listen einfach erweitern

Die append-Methode kann benutzt werden, um ein Element am Ende einer vorhandenen 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 und 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:

liste.append(element)
Python

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:

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

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:

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

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 über liste2 iteriert und jedes Element einzeln hinzufügt.

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

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

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
Python

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.

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])
Python

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.

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

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 von IONOS die perfekte Plattform für Sie.