Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/11/2010, 16:29
Ania_
 
Fecha de Ingreso: septiembre-2010
Mensajes: 18
Antigüedad: 14 años, 2 meses
Puntos: 0
Cambio valores en una lista

Después de mucho tiempo sin visitarlos y tratar de hacer mis programitas de python solita, de nuevo estoy aqui...

lo que quiero lograr hacer es lo siguiente:
tengo una lista=[2,0,1,3] y a partir de esta quiero crear una lista de lista, el problema q lo que quiero que haga es de la lista inicial intercambiar el valor 2 de la primera posición 2 por el valor 3 de la última posición, luego cambiar el valor de la segunda posición por la ultima posición, es decir se va incrementado, seria la tercera por la ultima y asi...lo q asi debe hacerse p veces...y p siempre tendrá valor n/2, n es valor de posiciones q tenga la lista, en este caso es 4...pero la lista puede tomar valor n...

Ej: lista=[2,0,1,3]
listagenerada=[[3,0,1,2],[2,3,1,0]]
De la lista generada, cada lista q esta adentro en la primera posicion..intercambia el primero con el ultimo, la segunda lista de la lista generada cambia el segundo con el ultimo...La verdad q es bien complicado explicar lo q quiero hacer, pero ojalá q me hayan entendido...de todas maneras pondré mi programita q aunque sé q está malo, es para q tengan una idea
Código Python:
Ver original
  1. vector=[2,0,1,3]#puede tener cualquier tamaño n
  2. n=4
  3. p=2#siempre tendra valor n/2
  4. val=[]
  5. for i in range(p):
  6.     val.append(vector)
  7.  
  8. indice=0
  9. for i in range(p):
  10.     for j in range(n):
  11.         if j==indice:
  12.             aux=val[i][j]
  13.             val[i][j]=val[i][n-1]
  14.             val[i][n-1]=aux
  15.     indice=indice +1
  16.  
  17. print val