Avendo una lista ordinata e qualche valore casuale, vorrei trovare in quale intervallo il valore è.Un modo pietonico come trovare se un valore si trova tra due valori in una lista
Lista va in questo modo: [0, 5, 10, 15, 20] e il valore è, dicono 8.
Il metodo standard sarebbe quello di andare sia dall'inizio fino a quando ci ha colpito valore che è più grande di nostro (come nell'esempio sotto), o per eseguire 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
Mi chiedo se non v'è un approccio più divinatorio, in quanto questo anche se breve, sembra po 'di un occhio dolente. Grazie per il tuo tempo!
+1, mi ha battuto sul tempo da dieci secondi. Sarebbe comunque utile collegare i documenti stdlib. – Kiv
Immagino di non aver trovato i termini giusti per cercare! Grazie mille, questo è esattamente quello che stavo cercando! –
O Dio, un'altra lingua WET! :) divertente vedere come Python (anche se a soffrire di un sistema di tipo rigido come Java) tuttavia ti costringe a scrivere tutto due volte. – akuhn