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>
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>
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>
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!