Mam listę Pythona predefiniowanych liczb:Python: Okrągły do następnego predefiniowanego całkowitą w liście
intvals = [5000, 7500, 10000, 20000, 30000, 40000, 50000]
muszę zaokrąglić w dół i w górę do następnej niższej/wyższej wartości na liście. Na przykład, biorąc pod uwagę numer 8000
, wynikiem powinno być [7500, 10000]
. Dla 42000
powinno być [40000, 50000]
. Zastanawiam się, czy istnieje prosty sposób na zrobienie tego.
Mój pomysł polegałby na utworzeniu funkcji, która ma dwie pętle - jedną, która zmniejsza wartość -1, dopóki nie znajdzie jednego na liście, i która zwiększy wartość o 1, dopóki nie znajdzie wyższego dopasowania. To zadziała, ale może jest lepsze rozwiązanie?
To jest niesamowite. –
W szczególności będziesz potrzebować kodu do obsługi przypadków krawędzi (czy zdefiniowano 'get_interval (5)?) –
Dziękuję za szybką odpowiedź. Dokładnie to, czego potrzebuję! Nigdy nie słyszałem o module bisect – Daniel