Méthode copy() du dictionnaire Python

Python 字典Dictionnaire Python


Description

La fonction copy() d'un dictionnaire Python renvoie une copie superficielle d'un dictionnaire.

Syntaxe

Syntaxe de la méthode copy() :

dict.copy()

Parameters

  • NA.

Valeur de retour

Renvoie une copie superficielle d'un dictionnaire.

Exemples

L'exemple suivant démontre l'utilisation de la fonction copy() :

Exemple

#!/usr/bin/python dict1 = {'Name': 'Zara', 'Age': 7}; dict2 = dict1.copy() print "Nouveau dictionnaire : %s" % str(dict2)

La sortie de l'exemple ci-dessus est :

New Dictinary : {'Age': 7, 'Name': 'Zara'}

Différence entre l'affectation directe et copy

Ceci peut être illustré par l'exemple suivant :

Exemple

#!/usr/bin/python # -*- coding: UTF-8 -*- dict1 = {'user':'example','num':[1,2,3]} dict2 = dict1 # Copie superficielle : objet de référence dict3 = dict1.copy() # Copie superficielle : copie en profondeur l'objet parent (répertoire de premier niveau), mais ne copie pas l'objet enfant (répertoire de deuxième niveau) ; il reste 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) de dict1, donc les résultats affichés sont identiques. L'objet parent de dict3 est copié en profondeur et ne changera pas avec les modifications de dict1, mais l'objet enfant est copié superficiellement, donc il change avec les modifications de dict1.

{'num': [2, 3], 'user': 'root'}
{'num': [2, 3], 'user': 'root'}
{'num': [2, 3], 'user': 'example'}

Approfondissement des connaissances

Analyse de l'affectation directe, de la copie superficielle et de la copie profonde en Python



Python 字典Dictionnaire Python

Autres extensions