Maison > développement back-end > Tutoriel Python > Comment créer de véritables copies de dictionnaires Python ?

Comment créer de véritables copies de dictionnaires Python ?

Susan Sarandon
Libérer: 2024-12-29 07:11:14
original
720 Les gens l'ont consulté

How to Create True Copies of Python Dictionaries?

Préserver les dictionnaires originaux : séparer les copies de l'origine

Lorsque vous travaillez avec des dictionnaires Python, il est crucial de comprendre que l'affectation ne crée pas de copies. L'attribution d'un dictionnaire à un autre, comme dans dict2 = dict1, établit les deux variables comme références pointant vers le même objet dictionnaire. Par conséquent, les modifications apportées à l'un ou l'autre dictionnaire affectent les deux.

La solution : la copie explicite

Pour éviter ce comportement et préserver le dictionnaire original, une copie explicite est nécessaire. Python propose deux méthodes pour y parvenir :

Méthode 1 : Utiliser dict(dict1)

dict2 = dict(dict1)
Copier après la connexion

Cette méthode crée un nouveau dictionnaire qui est une copie exacte de dict1 .

Méthode 2 : Utiliser dict1.copy()

dict2 = dict1.copy()
Copier après la connexion

Cette méthode génère également un nouveau dictionnaire qui est un double de dict1.

Démonstration

Pour illustrer la différence entre référence et copie, considérons l'exemple suivant :

dict1 = {"key1": "value1", "key2": "value2"}

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

# Copy dict1 using dict1.copy()
dict3 = dict1.copy()
dict3["key2"] = "CHANGED!"
print(dict1)  # Output: {'key1': 'value1', 'key2': 'value2'}
Copier après la connexion

Dans cet exemple, dict2 et dict3 fait référence à des dictionnaires distincts. La modification de l'une ou l'autre copie n'affecte pas le dictionnaire d'origine 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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal