Wpis z mikrobloga

@Romantyczny_widelec: Masz 2 typy kopii - jeden tryb w którym robi ci kopię obiektu, ale to co znajdzie 'w środku' dalej jest robione jako referencja. Drugi tryb (deepcopy) robi rekursywnie, kopie obiektów znalezionych w oryginale i tych kopiach też kopie, itd (ogólnie - wolniejszy, ryzyko #!$%@? się przy głębokiej rekursji, ale będziesz miał faktycznie kopię całości)
Masz, przykład (skoro juz zrobilem, to co sie bedzie marnowal :P) :

In [1]: lista = ["l1", "l2"] # Przykladowa lista
In [2]: a = { "l": lista } # Obiekt zawierajacy inny obiekt (liste)
In [3]: import copy
In [4]: b = copy.copy(a) # zwykla (shallow) kopia obiektu a
In [5]: c = copy.deepcopy(a) # gleboka kopia obiektu a
In [6]: # adresy w pamieci listy zawartej w obiektach a, b