Heim >Backend-Entwicklung >Python-Tutorial >Wie dupliziert man Wörterbücher in Python ordnungsgemäß und vermeidet Änderungen am Original?

Wie dupliziert man Wörterbücher in Python ordnungsgemäß und vermeidet Änderungen am Original?

DDD
DDDOriginal
2024-12-22 17:32:10456Durchsuche

How to Properly Duplicate Dictionaries in Python and Avoid Modifying the Original?

Wörterbücher duplizieren: Originalität bewahren

Beim Zuweisen eines Wörterbuchs zu einem anderen in Python ist es wichtig zu bedenken, dass Referenzen erstellt werden, keine Kopien. Dies bedeutet, dass alle Änderungen, die am zugewiesenen Wörterbuch (der Kopie) vorgenommen werden, auch Auswirkungen auf das Originalwörterbuch haben. Um dieses Verhalten zu verhindern, muss eine echte Kopie des Wörterbuchs erstellt werden.

Betrachten Sie das folgende Beispiel:

dict1 = {"key1": "value1", "key2": "value2"}
dict2 = dict1
dict2["key2"] = "WHY?!"
print(dict1)  # {'key2': 'WHY?!', 'key1': 'value1'}

Nach der Zuweisung von Diktat2 zu Diktat1 werden an Diktat2 vorgenommene Änderungen in Diktat1 als widergespiegelt Also. Um dies zu vermeiden, muss eine explizite Kopie erstellt werden:

dict2 = dict(dict1)
dict2["key2"] = "WHY?!"
print(dict1)  # {'key2': 'value2', 'key1': 'value1'}

Alternativ kann die Methode copy() verwendet werden:

dict2 = dict1.copy()
dict2["key2"] = "WHY?!"
print(dict1)  # {'key2': 'value2', 'key1': 'value1'}

Durch die Verwendung einer dieser Methoden werden Änderungen an der vorgenommen Das kopierte Wörterbuch (dict2) hat keine Auswirkungen auf das ursprüngliche Wörterbuch (dict1).

Das obige ist der detaillierte Inhalt vonWie dupliziert man Wörterbücher in Python ordnungsgemäß und vermeidet Änderungen am Original?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn