Dictionaries mit Tiefe kopieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Foxxi
User
Beiträge: 33
Registriert: Sonntag 10. Mai 2009, 16:49

Hallo allerseits,

ich habe ein kleines Problem mit Dictionaries, die als Elemente ihrerseits Listen (und eventuell sogar Listen von Listen usw.) enthalten. Ein einfaches Beispiel:

d = {'a': [1, 2, 3], 'b': [4, 5, [11, 22]]}

Solch ein Dictionary möchte ich kopieren und zwar mit allen Elementen. Leider erzeugt die Methode copy nur eine flache Kopie, d.h. die Listen werden nur "aliasiert". Das hat dann z.B. folgende Auswirkung:

d1 = d.copy()
d['a'].append(999)
d1

>>> {'a': [1, 2, 3, 999], 'b': [4, 5, [11, 22]]} :roll:

Ich möchte aber gerne, dass die Kopie völlig unabhängig von dem Ursprungsdictionary weiter existiert. Kann mir jemand sagen, wie ich das hinbekomme? Schönen Dank schon mal.
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

Foxxi
User
Beiträge: 33
Registriert: Sonntag 10. Mai 2009, 16:49

Ja, super, Problem gelöst! :D :D
Danke schön
Antworten