Bonjour,
Je veux créer une copie de mon dictionnaire pour la modifier sans affecter l’original. Pourtant, lorsque je fais des modifications dans la copie, cela impacte également l’original. Voici mon code :
data = {"a": {"x": 1}, "b": {"y": 2}}
copy_data = data.copy()
copy_data["a"]["x"] = 42
print(data)
Je m’attendais à ce que le dictionnaire data reste inchangé, mais ce n’est pas le cas. Pouvez-vous m’expliquer pourquoi et comment résoudre ce problème ? Merci d’avance !
Bonjour,
Je veux créer une copie de mon dictionnaire pour la modifier sans affecter l’original. Pourtant, lorsque je fais des modifications dans la copie, cela impacte également l’original. Voici mon code :
data = {"a": {"x": 1}, "b": {"y": 2}}
copy_data = data.copy()
copy_data["a"]["x"] = 42
print(data)
Je m’attendais à ce que le dictionnaire data reste inchangé, mais ce n’est pas le cas. Pouvez-vous m’expliquer pourquoi et comment résoudre ce problème ? Merci d’avance !
Citation de PythonTech le 7 décembre 2024, 17 h 59 min
Bonjour ouven,
Votre copie est une copie superficielle, ce qui signifie que les objets imbriqués (comme les dictionnaires à l’intérieur de data) ne sont pas réellement dupliqués. Utilisez copy.deepcopy pour effectuer une copie profonde:
Bonjour ouven,
Votre copie est une copie superficielle, ce qui signifie que les objets imbriqués (comme les dictionnaires à l’intérieur de data) ne sont pas réellement dupliqués. Utilisez copy.deepcopy pour effectuer une copie profonde: