Usa fetta notazione per copiare come questo
array2 = array1[:]
oppure è possibile utilizzare list
funzione
array2 = list(array1)
Quando si assegna una lista ad un'altra lista, non verrà creato un nuovo elenco ma sia la le variabili saranno fatte per riferirsi alla stessa lista. Questo può essere confermato con questo programma.
array1 = [1, 2, 3, 4]
array2 = array1
print id(array1), id(array2)
Entrambi stamperanno lo stesso id. Ciò significa che sono entrambi uguali (se si è di sottotitolo C, è possibile considerarli come puntatori (nell'implementazione di CPython sono davvero dei puntatori, altre implementazioni scelgono di stampare id univoci - Si prega di controllare il commento di kojiro)). Maggiori informazioni su id
here. Quando lo fai
array3 = array1[:]
array4 = list(array1)
print id(array1), id(array3), id(array4)
otterrai diversi ID, perché in questi casi verranno creati nuovi elenchi.
Benvenuti in StackOverflow. Non preoccuparti troppo dei downvoters: alcune persone pensano che ogni domanda duplicata o principiante debba essere downvoted. Ma oltre ad essere un duplicato questa è una bella domanda: è chiaro quale sia la domanda e mostra un codice conciso che dimostra chiaramente il problema. – kojiro