viernes, 7 de enero de 2011

[Python] Sacando el número más próximo a otro dentro de una lista



Bueno, pues estaba programando algo en Python y me quedó esta función.

#Funcion proximo() devuelve el numero mas proximo a otro de una lista
def proximo(final,numeros):
 def el_menor(numeros):
  menor = numeros[0]
  retorno = 0
  for x in range(len(numeros)):
   if numeros[x]<menor:
    menor = numeros[x]
    retorno = x
  return retorno
 
 diferencia = []
 for x in range(len(numeros)):
  diferencia.append(abs(final - numeros[x]))
 return numeros[el_menor(diferencia)]
 
Por ejemplo de la lista [30,15,20,43,56,10] queremos saber cual es elemento
más cercano al número "35".

Entonces:
numeros = [30,15,20,43,56,10]
 
print proximo(35, numeros)
 


Saludos!


1 comentarios:

Publicar un comentario