Python: deepcopy no funciona en clases definidas por el usuario?
En el siguiente ejemplo, esperaría que deepcopy creara una copia del campo y no solo copiara la referencia. ¿Qué sucede aquí y hay una manera fácil de evitarlo?
from copy import deepcopy
class Test:
field = [(1,2)]
t1 = Test()
t2 = deepcopy(t1)
t2.field[0]=(5,10)
print t1.field # [(1,2)] expected but [(5,10)] obtained
print t2.field # [(5,10)] expected
Salida:
[(5, 10)]
[(5, 10)]