[ Foro de Python ]

Ordenar lista - Python

20-Dec-2018 23:07
Invitado (An?nimo)
1 Respuestas

Buenas, tengo un problema a la hora de programar con Python.
Tengo que crear una listaA de números, coger su último valor e introducirlo en otra listaB.
A partir de ahí tengo que utilizar "for i in" , "insert" , "if" (para saber si  el primer valor de la listaA es menor o mayor que el último valor de la listaA, agregado ya en la listaB, para así poder colocarlo antes o después en la listaB) y poco más,...
Puede que no me haya explicado muy bien, pero es un tanto lioso a la hora de escribirlo, pero el fin es ordenar la lista inicial.
Gracias de antemano.
De momento tengo esto, y no me funciona:

listaA=[]
for a in range(0,4):
 a=int(input("Dime un número"))
 listaA.append(a)
print("La lista es " + str(listaA))
listaB=[]
x=len(listaA)
listaB.append(a)
listaA.remove(a)
for i in range(x):
   if i<a:
    listaB.insert
   else:
     listaB.insert(i,i)
print("Su lista ordenada es " + str(listaB))
print("Su lista antigua es " + str(listaA))


05-Jan-2019 11:53
Nacho Cabanes (+84)

Por lo general, no sabrás si un valor es el mínimo hasta que no termines de dar una pasada completa. Por eso, suena incorrecto lo de

for i in range(x):
  if i<a:
   listaB.insert
  else:
    listaB.insert(i,i)

En general, primero buscarás el mínimo con algo como

posMinimo = 0
for i in range(x):
  if dato[i] < dato[posMinimo]:
     posMinimo = i

Al final de esa pasada, ya sabes la posición del mínimo, así que puedes añadirlo a la segunda lista y quitarlo de la primera.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)