Soy muy nuevo en Python, así que lamento la pregunta probablemente simple. (Aunque, pasé ahora 2 horas para encontrar una respuesta)Python: confundido con list.remove
he simplificado mi código para ilustrar el problema:
side=[5]
eva=side
print(str(side) + " side before")
print(str(eva) + " eva before")
eva.remove(5)
print(str(side) + " side after")
print(str(eva) + " eva after")
Esto produce:
[5] side before
[5] eva before
[] side after
[] eva after
¿Por qué la orden de supresión también afecta la lista 'lado'? ¿Qué puedo hacer para usar una copia de 'lado', sin modificar la lista?
Muchas gracias
Editar: Muchas gracias por las respuestas buenas y comprensibles!
Te has topado con la idea de nombres en python. http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html#python- has-names – GoingTharn
@GoingTharn * Los espacios de nombres * son una cuestión bastante diferente. Se ha topado con el hecho de que no hay tipos de valores en Python (y sí, eso también puede describirse de muchas otras maneras, pero los "espacios de nombres" no están entre ellos). – delnan
@delnan estuvo de acuerdo; Me di cuenta con horror que había escrito espacios de nombres y editado para nombres. El enlace de Dusan en la respuesta (actual) mejor votado es mejor que el mío de todos modos. – GoingTharn