Comprendre l'affectation de listes en Python
En Python, les listes sont des objets mutables, ce qui signifie que leur contenu peut être modifié. Lors de l'affectation d'une liste à une autre variable, les deux variables font référence au même objet de liste sous-jacent. C'est ce qu'on appelle l'affectation par référence.
Problème de passage par référence
Ce comportement peut entraîner des conséquences inattendues lors de la modification de listes imbriquées. Par exemple, modifier une valeur dans « a » affectera également « b » puisqu'ils partagent le même objet de liste de sauvegarde :
a = ['help', 'copyright', 'credits', 'license'] b = a b.append('XYZ') print(a) # ['help', 'copyright', 'credits', 'license', 'XYZ']
Passer des listes par valeur
Pour transmettre une liste par valeur en Python, vous devez créer une copie de la liste d'origine. Vous pouvez le faire en utilisant l'opérateur de découpage :
b = a[:]
Cela crée un nouvel objet de liste avec le même contenu que « a ». Désormais, l'ajout à 'b' n'affectera pas 'a' :
b.append('XYZ') print(a) # ['help', 'copyright', 'credits', 'license'] print(b) # ['help', 'copyright', 'credits', 'license', 'XYZ']
Conclusion
Comprendre l'affectation de liste en Python est crucial pour éviter un comportement involontaire lors de la modification d'imbrications listes. En utilisant l'opérateur de découpage, vous pouvez transmettre des listes par valeur et vous assurer que les modifications apportées à l'une ne se propagent pas aux autres.
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!