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
Libérer: 2024-12-22 17:32:10
original
521 Les gens l'ont consulté

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'}
Copier après la connexion

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'}
Copier après la connexion

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

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

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 de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal