tuplas - metodos de listas en python
Elemento de posición en lista ordenada en tiempo logarítmico Python (1)
Hay un módulo dedicado para búsqueda binaria: bisección
import bisect
testlist=[0.0, 0.25, 0.5, 0.75, 1.0]
print bisect.bisect(testlist, .27) - 1
## 1
Tengo una lista ordenada y necesito ubicar un elemento dentro de esa lista de manera que el elemento anterior sea <= y el siguiente elemento en la lista sea> (la lista es una lista de números de coma flotante)
Tendré que devolver la posición del elemento que es <= es decir, el elemento anterior
¿Cómo puedo implementar esto en tiempo logarítmico? pensé en usar un método similar al binary seacrh pero no pude hacerlo funcionar
Cualquier ayuda sería apreciada
PS un ejemplo es: si la lista es
testlist=[0.0, 0.25, 0.5, 0.75, 1.0]
y ejecuto la función para 0.27, la función devolverá 1 (la ubicación de 0.25) y si la ejecuto para 0.5, devolverá 2