Python-Wörterbuch copy()-Methode
Beschreibung
Die copy()-Funktion des Python-Dictionary gibt eine flache Kopie eines Dictionarys zurück.
Syntax
Syntax der copy()-Methode:
dict.copy()
Parameters
- Nicht zutreffend.
Rückgabewert
Gibt eine flache Kopie eines Dictionarys zurück.
Beispiele
Das folgende Beispiel demonstriert die Verwendung der copy()-Funktion:
Beispiel
#!/usr/bin/python
dict1 = {'Name': 'Zara', 'Age': 7};
dict2 = dict1.copy()
print "New Dictinary : %s" % str(dict2)
Die Ausgabe des obigen Beispiels ist:
New Dictinary : {'Age': 7, 'Name': 'Zara'}
Unterschied zwischen direkter Zuweisung und copy
Dies kann durch das folgende Beispiel veranschaulicht werden:
Beispiel
#!/usr/bin/python
# -*- coding: UTF-8 -*-
dict1 = {'user':'example','num':[1,2,3]}
dict2 = dict1 # Flache Kopie: Referenzobjekt
dict3 = dict1.copy() # Flache Kopie: kopiert das übergeordnete Objekt (Verzeichnis erster Ebene) tief, aber kopiert das untergeordnete Objekt (Verzeichnis zweiter Ebene) nicht; es ist weiterhin eine Referenz
# Daten ändern
dict1['user']='root'
dict1['num'].remove(1)
# Ergebnis ausgeben
print(dict1)
print(dict2)
print(dict3)
Im Beispiel ist dict2 tatsächlich eine Referenz (Alias) von dict1, daher sind die Ausgabeergebnisse gleich. Das übergeordnete Objekt von dict3 wird tief kopiert und ändert sich nicht mit den Modifikationen von dict1, aber das untergeordnete Objekt wird flach kopiert und ändert sich daher mit den Modifikationen von dict1.
{'num': [2, 3], 'user': 'root'}
{'num': [2, 3], 'user': 'root'}
{'num': [2, 3], 'user': 'example'}
Wissenserweiterung
Python: Analyse von direkter Zuweisung, flacher Kopie und tiefer Kopie
Andere Erweiterungen
Python-Wörterbuch