Modificar listas definidas por otras listas

Estoy tratando de hacer un juego, pero no puedo imaginar cómo modificar la lista sin afectar a otro. Mi codigo es

list1 = [1,2,3,4,5,6,7,8,9,0] list2 = list1 for i in range(len(list2)): list2.remove(i) print (list1) print (list2) 

y el resultado es

 [] [] 

¿Cómo puedo hacer que los dos no estén conectados? (Necesito combinar listas pero se eliminan una vez que se reinicia el progtwig)

Puedes hacer de list2 un nuevo objeto:

 list2 = list(list1) 

Así que la salida sería:

 [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] [] 

Puede utilizar el módulo de copia.

 list1 = [1,2,3,4,5,6,7,8,9,0] import copy list2 = copy.copy(list1) 

Cualquier cambio en la lista1 no afectará a la lista2 y viceversa. Si su lista es una lista compuesta, es decir, contiene la lista como elementos, debe usar deepcopy de la siguiente manera:

 list2 = copy.deepcopy(list1) 

Para más casos de uso, visite http://docs.python.org/2/library/copy.html

Haga una copia de la primera lista:

list2 = list(list1)

Esto es bueno:

 list2 = list(list1) 

O esta es la forma en que normalmente lo hago:

 list2 = list1[:] 

El primero es usar el constructor de listas. El segundo es usar una rebanada. No me he molestado en comprobar cuál es más rápido.