Clonage de listes en Python : comment éviter les modifications inattendues
Attribution d'une nouvelle variable à une liste existante (par exemple, new_list = my_list) dans Python ne crée pas de liste séparée mais copie simplement la référence à la liste d'origine. Cela signifie que toutes les modifications apportées à new_list seront reflétées dans my_list et vice versa.
Raisons du comportement inattendu de la liste :
Le comportement se produit parce que Python utilise des références mémoire pour des objets comme des listes. Lorsque vous affectez une nouvelle variable à une liste, elle ne duplique pas la liste mais pointe vers la même structure de données sous-jacente. Toute modification apportée à une référence affectera donc toutes les références à la même structure de données.
Options de clonage pour éviter les modifications inattendues :
Pour créer une copie véritablement indépendante d'une liste , vous avez plusieurs options :
Exemple :
my_list = [1, 2, 3] new_list = my_list.copy() new_list.append(4) print(my_list) # Output: [1, 2, 3] (unchanged)
Dans cet exemple, new_list est une copie distincte et indépendante de my_list , donc l'ajout d'un élément à new_list n'affecte pas my_list.
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!