Maison >développement back-end >Tutoriel Python >Comment dupliquer correctement des dictionnaires en Python et éviter de modifier l'original ?

Comment dupliquer correctement des dictionnaires en Python et éviter de modifier l'original ?

DDD
DDDoriginal
2024-12-22 17:32:10545parcourir

How to Properly Duplicate Dictionaries in Python and Avoid Modifying the Original?

Duplication de dictionnaires : préserver l'originalité

Lors de l'attribution d'un dictionnaire à un autre en Python, il est important de se rappeler que des références sont créées et non des copies. Cela signifie que toute modification apportée au dictionnaire attribué (la copie) affectera également le dictionnaire d'origine. Pour éviter ce comportement, une copie conforme du dictionnaire doit être créée.

Considérons l'exemple suivant :

dict1 = {"key1": "value1", "key2": "value2"}
dict2 = dict1
dict2["key2"] = "WHY?!"
print(dict1)  # {'key2': 'WHY?!', 'key1': 'value1'}

Après avoir attribué dict2 à dict1, les modifications apportées à dict2 sont reflétées dans dict1 comme Bien. Pour éviter cela, une copie explicite doit être effectuée :

dict2 = dict(dict1)
dict2["key2"] = "WHY?!"
print(dict1)  # {'key2': 'value2', 'key1': 'value1'}

Alternativement, la méthode copy() peut être utilisée :

dict2 = dict1.copy()
dict2["key2"] = "WHY?!"
print(dict1)  # {'key2': 'value2', 'key1': 'value1'}

En utilisant l'une ou l'autre de ces méthodes, les modifications apportées au le dictionnaire copié (dict2) n'affectera pas le dictionnaire original (dict1).

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