Copia profunda y superficial
En Python, la asignación de objetos es en realidad una referencia al objeto. Cuando se crea un objeto y se asigna a otra variable, Python no copia el objeto, sino que solo copia la referencia al objeto, lo cual llamamos copia superficial.
En Python, para que dos variables no se afecten entre sí al realizar operaciones de asignación, se puede utilizar el método deepcopy del módulo copy, lo que se denomina copia profunda.
Función append()
Cuando se realiza una operación append en un objeto de tipo list, en realidad se agrega una referencia a ese objeto.
id()Función: devuelve el identificador único del objeto, que se puede comparar con la dirección del objeto en la memoria.
alist.append( copy.deepcopy( num ) )
Dirección original: https://blog.csdn.net/u010099495/article/details/50276833