Heim >Backend-Entwicklung >Python-Tutorial >Wie unterscheiden sich die Operatoren „append()' und „=' von Python bei der Verwendung in Listen?

Wie unterscheiden sich die Operatoren „append()' und „=' von Python bei der Verwendung in Listen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-31 12:24:46671Durchsuche

How Do Python's `append()` and ` =` Operators Differ When Used on Lists?

Unterschiede zwischen dem Python-Append()- und dem =-Operator bei Listen verstehen

Die append()-Methode und der =-Operator verhalten sich beim Bearbeiten unterschiedlich Listen. append() fügt das angegebene Element am Ende der Liste hinzu, während = die Elemente der Operandenliste mit der vorhandenen Liste verkettet.

Konsequenzen der Verwendung von =

Die Verwendung von = mit einer Liste als Operand führt zu einer neuen Liste, die die ursprüngliche Liste mit den Elementen der Operandenliste kombiniert. Zum Beispiel:

<code class="python">c = [1, 2, 3]
c += c
print(c)  # [1, 2, 3, 1, 2, 3]</code>

Rekursion mit append()

Im Gegensatz dazu hängt append() die Liste selbst als einzelnes Element an, was zu einer unendlichen Rekursion führt, wenn Die Liste wird zu sich selbst hinzugefügt. Dies liegt daran, dass das letzte Element der Liste, auf das über c[-1] zugegriffen wird, nun auf die Liste selbst verweist und eine rekursive Schleife erzeugt.

<code class="python">c = [1, 2, 3]
c.append(c)
print(c)  # [1, 2, 3, [...]]  # infinite recursion</code>

Alternative Option: extension()

Um die Elemente einer Liste an eine andere anzuhängen, verwenden Sie die Methode „extend()“. Es ändert die ursprüngliche Liste direkt, im Gegensatz zu =, das eine neue Liste erstellt:

<code class="python">c = [1, 2, 3]
c.extend(c)
print(c)  # [1, 2, 3, 1, 2, 3]</code>

Das obige ist der detaillierte Inhalt vonWie unterscheiden sich die Operatoren „append()' und „=' von Python bei der Verwendung in Listen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn