Was ist der Unterschied zwischen den Listenmethoden append()
y extend()
?
Antworten
Zu viele Anzeigen?anhängen() : Es wird in Python grundsätzlich verwendet, um ein Element hinzuzufügen.
Beispiel 1:
a = [1, 2, 3, 4] a.append(5) print(a) a = [1, 2, 3, 4, 5]
Beispiel 2:
a = [1, 2, 3, 4] a.append([5, 6]) print(a) a = [1, 2, 3, 4, [5, 6]]
erweitern() : Wobei extend() verwendet wird, um zwei Listen zusammenzuführen oder mehrere Elemente in eine Liste einzufügen.
Beispiel 1:
a = [1, 2, 3, 4] b = [5, 6, 7, 8] a.extend(b) print(a) a = [1, 2, 3, 4, 5, 6, 7, 8]
Beispiel 2:
a = [1, 2, 3, 4] a.extend([5, 6]) print(a) a = [1, 2, 3, 4, 5, 6]
Anhängen fügt die gesamten Daten auf einmal hinzu. Die gesamten Daten werden dem neu erstellten Index hinzugefügt. Auf der anderen Seite, extend
erweitert, wie der Name schon sagt, das aktuelle Array.
Zum Beispiel
list1 = [123, 456, 678]
list2 = [111, 222]
Mit append
erhalten wir:
result = [123, 456, 678, [111, 222]]
Während auf extend
erhalten wir:
result = [123, 456, 678, 111, 222]
Ein interessanter Punkt, der zwar angedeutet, aber nicht erklärt wurde, ist, dass extend schneller ist als append. Denn jede Schleife, die append enthält, sollte durch list.extend(processed_elements) ersetzt werden.
Denken Sie daran, dass das Anlegen neuer Elemente dazu führen kann, dass die gesamte Liste an eine bessere Stelle im Speicher verschoben wird. Wenn dies mehrmals geschieht, weil wir jeweils nur ein Element anhängen, leidet die Gesamtleistung. In diesem Sinne ist list.extend analog zu "".join(stringlist).
Ein englisches Wörterbuch definiert die Wörter append
y extend
als:
anhängen. : am Ende eines schriftlichen Dokuments (etwas) hinzufügen.
erweitern. : größer machen. Vergrößern oder erweitern
Mit diesem Wissen, lassen Sie uns nun verstehen
1) Der Unterschied zwischen append
y extend
append
:
- Fügt hinzu. jedes Python-Objekt als solches an das Ende der Liste (d. h. als das letzte Element der Liste).
- Die resultierende Liste kann verschachtelt sein und heterogene Elemente enthalten (d. h. Liste, String, Tupel, Wörterbuch, Menge usw.)
extend
:
- Akzeptiert jede iterierbar als Argument und macht die Liste größer .
- Die resultierende Liste ist immer eine eindimensionale Liste (d. h. keine Verschachtelung) und kann heterogene Elemente enthalten (z. B. Zeichen, ganze Zahlen, Fließkommazahlen), die sich aus der Anwendung von
list(iterable)
.
2) Ähnlichkeit zwischen append
y extend
- Beide benötigen genau ein Argument.
- Beide ändern die Liste an Ort und Stelle .
- Infolgedessen sind sowohl die Renditen
None
.
Beispiel
lis = [1, 2, 3]
# 'extend' is equivalent to this
lis = lis + list(iterable)
# 'append' simply appends its argument as the last element to the list
# as long as the argument is a valid Python object
list.append(object)