Maison > développement back-end > Tutoriel Python > Comment les opérateurs `append()` et ` =` de Python diffèrent-ils lorsqu'ils sont utilisés sur des listes ?

Comment les opérateurs `append()` et ` =` de Python diffèrent-ils lorsqu'ils sont utilisés sur des listes ?

Mary-Kate Olsen
Libérer: 2024-10-31 12:24:46
original
757 Les gens l'ont consulté

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

Comprendre les différences entre Python Append() et l'opérateur = sur les listes

La méthode append() et l'opérateur = se comportent différemment lors de l'opération sur listes. append() ajoute l'élément donné à la fin de la liste, tandis que = concatène les éléments de la liste d'opérandes à la liste existante.

Conséquences de l'utilisation de =

L'utilisation de = avec une liste comme opérande entraîne une nouvelle liste qui combine la liste d'origine avec les éléments de la liste d'opérandes. Par exemple :

<code class="python">c = [1, 2, 3]
c += c
print(c)  # [1, 2, 3, 1, 2, 3]</code>
Copier après la connexion

Récursion avec append()

En revanche, append() ajoute la liste elle-même en tant qu'élément unique, ce qui conduit à une récursivité infinie si la liste s'ajoute à elle-même. Cela se produit parce que le dernier élément de la liste, accessible via c[-1], fait désormais référence à la liste elle-même, créant une boucle récursive.

<code class="python">c = [1, 2, 3]
c.append(c)
print(c)  # [1, 2, 3, [...]]  # infinite recursion</code>
Copier après la connexion

Option alternative : extend()

Pour ajouter les éléments d'une liste à une autre, utilisez la méthode extend(). Il modifie la liste d'origine sur place, contrairement à = qui crée une nouvelle liste :

<code class="python">c = [1, 2, 3]
c.extend(c)
print(c)  # [1, 2, 3, 1, 2, 3]</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal