Python3-Wörterbuch copy()-Methode
Beschreibung
Die copy()-Funktion des Python-Wörterbuchs gibt eine flache Kopie des Wörterbuchs zurück.
Syntax
Syntax der copy()-Methode:
dict.copy()
Parameters
- Nicht zutreffend.
Rückgabewert
Gibt eine flache Kopie des Wörterbuchs zurück.
Beispiel
Das folgende Beispiel zeigt, wie die Funktion copy() verwendet wird:
Beispiel
#!/usr/bin/python3
dict1 = {'Name': 'Example', 'Age': 7, 'Class': 'First'}
dict2 = dict1.copy()
print ("Das neu kopierte Dictionary ist:",dict2)
Das Ausgabeergebnis des obigen Beispiels ist:
新复制的字典为 : {'Age': 7, 'Name': 'Example', 'Class': 'First'}
Unterschied zwischen direkter Zuweisung und copy
Dies kann anhand des folgenden Beispiels erklärt werden:
Beispiel
#!/usr/bin/python
# -*- coding: UTF-8 -*-
dict1 = {'user':'example','num':[1,2,3]}
dict2 = dict1 # Flache Kopie: verweist auf Objekt
dict3 = dict1.copy() # Flache Kopie: Das Elternobjekt (erste Ebene) wird tief kopiert, das Kindobjekt (zweite Ebene) wird nicht kopiert, und das Kindobjekt ist 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) auf dict1, daher stimmen die Ausgabeergebnisse überein; dict3 hat eine tiefe Kopie des Elternobjekts, daher wird es nicht zusammen mit dict1 geändert, während das Kindobjekt eine flache Kopie ist, daher wird es zusammen mit dict1 geändert.
{'user': 'root', 'num': [2, 3]}
{'user': 'root', 'num': [2, 3]}
{'user': 'example', 'num': [2, 3]}
Wissenserweiterung
Analyse der direkten Zuweisung, flachen Kopie und tiefen Kopie in Python
Andere Erweiterungen
Python3-Wörterbuch