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)
Cette méthode crée un nouveau dictionnaire qui est une copie exacte de dict1 .
Méthode 2 : Utiliser dict1.copy()
dict2 = dict1.copy()
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'}
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!