Al tener una lista ordenada y algún valor aleatorio, me gustaría encontrar en qué rango se encuentra el valor.Una manera pitónica de encontrar si un valor está entre dos valores en una lista
lista es la siguiente: [0, 5, 10, 15, 20] Y el valor es, dicen 8.
La manera estándar sería ir ya sea desde el principio hasta que llegamos valor que es más grande que la nuestra (como en el ejemplo a continuación), o para realizar binary search.
grid = [0, 5, 10, 15, 20]
value = 8
result_index = 0
while result_index < len(grid) and grid[result_index] < value:
result_index += 1
print result_index
Me pregunto si hay un enfoque más Pythonic, ya que aunque corta, se ve poco de un dolor del ojo. ¡Gracias por su tiempo!
+1, se me adelantó por diez segundos. Sin embargo, valdría la pena vincularlo con los documentos de stdlib. – Kiv
¡supongo que no encontré los términos correctos para buscar! ¡Muchas gracias, esto es exactamente lo que estaba buscando! –
¡Oh, Dios mío, otro idioma MOJADO! :) Es curioso ver cómo Python (aunque padece un sistema de tipo rígido como Java) te obliga a escribir todo dos veces. – akuhn