Intenté lo siguiente en el intérprete de Python:
>>>
>>> a = []
>>> b = {1:'one'}
>>> a.append(b)
>>> a
[{1: 'one'}]
>>> b[1] = 'ONE'
>>> a
[{1: 'ONE'}]
>>>
Aquí, después de agregar el diccionario 'b' a la lista 'a', estoy cambiando el valor correspondiente a la clave 1 en el diccionario 'a'. De alguna manera, este cambio también se refleja en la lista. Cuando agrego un diccionario a una lista, ¿no estoy agregando simplemente el valor de dictionary? Parece que he agregado un puntero al diccionario a la lista y, por lo tanto, los cambios en el diccionario también se reflejan en la lista.
No quiero que el cambio se refleje en la lista. ¿Cómo lo hago?
¡Gracias por tu tiempo!
fuente