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

Mary-Kate Olsen
Freigeben: 2024-10-31 12:24:46
Original
661 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage