Tengo un ligero problema para comprender el comportamiento de las listas.Asignación de lista a un valor en esa lista
Mi pregunta ejercicio es: Dibuje un modelo de memoria que muestra el efecto de las siguientes afirmaciones:
values = [0, 1, 2]
values[1] = values
Mi idea era que la ejecución de estas declaraciones cambiará la lista para algo como esto [0, [0, 1, 2], 3]
, en otras palabras, la segunda declaración agregará el segundo valor en la lista (1) pero cuando ejecuto estas instrucciones y luego imprimo la lista en el shell de Python (3.2) obtengo el siguiente resultado:
[0, [...], 2]
Algo le ha pasado a la segunda entrada, pero no estoy seguro de qué, ¿alguien puede explicar lo que pasó?
Gracias, Damian
+1 para las tortugas :) –
@Bryan Oakley, gracias por su respuesta, es una gran explicación. Todo se reduce a una referencia/copia sobre la que debo estar más atento. –