¿por qué no puedo cambiar solo un elemento en una lista anidada en Python [duplicado]
Esta pregunta ya tiene una respuesta aquí:
Lista de cambios de listas reflejados inesperadamente en sublistas 12 respuestasAcabo de encontrar algo realmente extraño de Python:
>>> out=[[0]*3]*3
>>> out
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
>>> out[0][1]
0
>>> out[0][1]=9
>>> out
[[0, 9, 0], [0, 9, 0], [0, 9, 0]]
bueno, obviamente, lo que quiero es:
[[0, 9, 0], [0, 0, 0], [0, 0, 0]]
no es extraño? No estoy muy familiarizado con Python, pero Python siempre me impresiona con su comportamiento intuitivo. ¿Pero cómo surge esto?
... y ¿cómo puedo obtener lo que necesito?
¡Gracias
Vati