Las variables de Python son nombres para valores. Realmente no "contienen" los valores.
for var in var_list:
hace que 'var' se convierta en un nombre para cada elemento de la lista, sucesivamente. Dentro del ciclo, var = num
no afecta la lista: en su lugar, hace que var
deje de ser un nombre para el elemento de lista, y en su lugar comienza a ser un nombre para los nombres actualmente num
.
Del mismo modo, cuando se crea la lista, si one
, two
y three
no son ya nombres para los valores, entonces se puede no se utilicen así, porque usted está pidiendo para crear una lista de los valores que tienen los nombres (y luego haga que var_list
sea un nombre para esa lista). Tenga en cuenta que la lista tampoco contiene realmente los valores: hace referencia, es decir, los comparte.
Esto funciona, pero esta respuesta es un poco corto en qué el camino OPs * no * funciona. – John
Es cierto eso. Como otros ya lo han cubierto, explicaré por qué esto funciona según eso. – TryPyPy