Dictionary und flache Kopien
Verfasst: Montag 8. August 2011, 13:12
Hi,
ich lese bei Weigend gerade, dass d.copy eine flache Kopie von d zurück gibt, hierbei sei es so: "Aber die Schlüssel-Wert-Paare enthalten nur Referenzen auf enthaltene Objekte und keine Kopien". Ich habe flache Kopien so verstanden, dass es sich nur um einen neuen Namen für ein Objekt handelt und Änderungen am Original Auswirkungen auf die (flache) Kopie haben.
Ich habe einfach mal getestet:
Für mich sieht es so aus, dass d.copy() eine echte Kopie eines dict erzeugt, wobei die Kopie unabhängig vom Original verändert werden kann. Mache ich da einen Gedankenfehler???
ich lese bei Weigend gerade, dass d.copy eine flache Kopie von d zurück gibt, hierbei sei es so: "Aber die Schlüssel-Wert-Paare enthalten nur Referenzen auf enthaltene Objekte und keine Kopien". Ich habe flache Kopien so verstanden, dass es sich nur um einen neuen Namen für ein Objekt handelt und Änderungen am Original Auswirkungen auf die (flache) Kopie haben.
Ich habe einfach mal getestet:
Code: Alles auswählen
>>> d = {"test":"1", "test2":"2"}
>>> c = d.copy()
>>> c
{'test': '1', 'test2': '2'}
>>> c.clear()
>>> d
{'test': '1', 'test2': '2'}
>>> c
{}