Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/03/2013, 10:40
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Sobrescritura de una lista

Si nos dieras los valores que tiene llista y llistaFi podríamos decirte por que cambia en esta caso.

De cualquier manera tu problema es que las listas son mutables y cada vez que asignas una lista a otra variable no hace una copia solamente mantiene una referencia.

Te recomiendo darle una leida a python idiomatico especialmente la parte `Otros lenguajes tienen "variables"` donde explica un poco sobre los nombres de variables, referencias, etc...

Otra cosa en tu codigo partes como
Código Python:
Ver original
  1. parades=[]
  2. parades=paradesOrigen
paredes=[] no tiene relevancia por automáticamente le asignas otro valor.

O en este otro pedazo.
Código Python:
Ver original
  1. camiFi=[]
  2. camiFi.append(parades)
  3. camiFi.append(costFi)

Como veo que no asignas mas cosas puedes hacer lo siguiente
Código Python:
Ver original
  1. camiFi = [parades, costFi]

Y por ultimo veo que tienes una variable contador, que la puedes sustituir con enumerate (También lo mencionan en python idiomatico).

Asi que en vez de hacer esto:
Código Python:
Ver original
  1. contador = 0
  2. for i in my_list:
  3.     ...
  4.     contador = contador + 1

Puedes hacer esto:
Código Python:
Ver original
  1. for contador, i in enumerate(my_list):
  2.     ...