3111 Stimmen

Was ist der Unterschied zwischen den Python-Listenmethoden append und extend?

Was ist der Unterschied zwischen den Listenmethoden append() y extend() ?

23voto

skdev75 Punkte 687

Dies ist das Äquivalent zu append y extend unter Verwendung der + Betreiber:

>>> x = [1,2,3]
>>> x
[1, 2, 3]
>>> x = x + [4,5,6] # Extend
>>> x
[1, 2, 3, 4, 5, 6]
>>> x = x + [[7,8]] # Append
>>> x
[1, 2, 3, 4, 5, 6, [7, 8]]

18voto

The Gr8 Adakron Punkte 1112

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]

15voto

Shiv Punkte 197

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]

15voto

bconstanzo Punkte 566

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).

11voto

kmario23 Punkte 49380

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)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X