Sono molto nuovo a Python, mi dispiace per la semplice domanda. (Anche se, ho passato ora 2 ore per trovare una risposta)Python: Confuso con list.remove
ho semplificato il mio codice per illustrare il 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")
Questo produce:
[5] side before
[5] eva before
[] side after
[] eva after
Perché il comando remove anche influisce sulla lista 'lato'? Cosa posso fare per utilizzare una copia di "side", senza modificare l'elenco?
La ringrazio molto
Edit: La ringrazio molto per le risposte buone e comprensibili!
Ti sei imbattuto nell'idea dei nomi in python. http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html#python-has-names – GoingTharn
@GoingTharn * Gli spazi dei nomi * sono una questione completamente diversa. Si imbatte nel fatto che non ci sono tipi di valore in Python (e sì, che può essere descritto in un gazillion anche in altri modi - ma "namespace" non è tra questi). – delnan
@delnan d'accordo; Ho realizzato con orrore che avevo scritto spazi dei nomi e modificato per i nomi. Il collegamento di Dusan nella (attuale) votazione più votata è comunque meglio del mio. – GoingTharn