Ayant une liste triée et une valeur aléatoire, je voudrais trouver dans quelle plage la valeur est.Une façon pythonique de trouver si une valeur est entre deux valeurs dans une liste
Liste va comme ceci: [0, 5, 10, 15, 20] Et la valeur est, disons 8.
La méthode standard serait d'aller soit du début jusqu'à ce que nous valorisons frappé qui est plus grand que le nôtre (comme dans l'exemple ci-dessous), ou pour effectuer 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
Je me demande s'il y a une approche plus pythonique, comme cela, bien que court, semble peu d'un oeil douloureux. Merci pour votre temps!
+1, me devança de dix secondes. Cela vaudrait la peine d'être lié aux documents stdlib. – Kiv
Je suppose que je n'ai pas trouvé les bons termes pour rechercher avec! Merci beaucoup, c'est exactement ce que je cherchais! –
O gosh, une autre langue WET! :) drôle de voir comment python (même si souffrir d'un système de type rigide comme Java) vous oblige néanmoins à tout écrire deux fois. – akuhn