Méthode copy() du dictionnaire Python3
Description
La fonction copy() du dictionnaire Python renvoie une copie superficielle du dictionnaire.
Syntaxe
Syntaxe de la méthode copy() :
dict.copy()
Parameters
- NA.
Valeur de retour
Renvoie une copie superficielle du dictionnaire.
Exemple
L'exemple suivant montre comment utiliser la fonction copy() :
Exemple
#!/usr/bin/python3
dict1 = {'Name': 'Example', 'Age': 7, 'Class': 'First'}
dict2 = dict1.copy()
print ("Le dictionnaire nouvellement copié est :",dict2)
Le résultat de sortie de l'exemple ci-dessus est :
新复制的字典为 : {'Age': 7, 'Name': 'Example', 'Class': 'First'}
Différence entre l'affectation directe et copy
Cela peut être expliqué par l'exemple suivant :
Exemple
#!/usr/bin/python
# -*- coding: UTF-8 -*-
dict1 = {'user':'example','num':[1,2,3]}
dict2 = dict1 # Copie superficielle : référence l'objet
dict3 = dict1.copy() # Copie superficielle : l'objet parent (répertoire de premier niveau) est copié en profondeur, l'objet enfant (répertoire de deuxième niveau) n'est pas copié, et l'objet enfant est une référence
# Modifier les données
dict1['user']='root'
dict1['num'].remove(1)
# Afficher le résultat
print(dict1)
print(dict2)
print(dict3)
Dans l'exemple, dict2 est en fait une référence (alias) à dict1, donc les résultats de sortie sont cohérents ; dict3 a une copie profonde de l'objet parent, donc il ne sera pas modifié avec dict1, tandis que l'objet enfant est une copie superficielle, donc il sera modifié avec dict1.
{'user': 'root', 'num': [2, 3]}
{'user': 'root', 'num': [2, 3]}
{'user': 'example', 'num': [2, 3]}
Approfondissement des connaissances
Analyse de l'affectation directe, de la copie superficielle et de la copie profonde en Python
Autres extensions
Dictionnaire Python3