[Python-de] Dictionary und die Methode copy

Bertram Scharpf lists at bertram-scharpf.de
Mon Feb 21 12:10:56 CET 2005


Hallo,

Am Montag, 21. Feb 2005, 10:04:40 +0100 schrieb Bertram Scharpf:
> Am Montag, 21. Feb 2005, 00:57:49 +0100 schrieb Albert Hermeling:
> 
> In etwa so (ungetestet):
> 
>   def deepcopy( obj):
>       class C:
>           pass
>       t = type( obj)
>       if t == type( {}):
>           r = {}
>           for k in obj.keys():
>               r[ k] = deepcopy( obj[ k])
>           return r
>       elif t == type( C()):
>           r = C()
>           r.__class__ = obj.__class__
>           r.__dict__ = deepcopy( obj.__dict__)
        elif t == type( []):
            return [ x.deepcopy() for x in obj]
        elif t == type( ()):
            return tuple( [ x.deepcopy() for x in obj])
>       else:
>           return obj.copy()

Da gehört natürlich noch die Behandlung von Arrays und von
Tuples mit rein, sonst ist's ein grausiger Pfusch.


Bertram


-- 
Bertram Scharpf
Stuttgart, Deutschland/Germany
http://www.bertram-scharpf.de