0
A
回答
3
假設輸入作爲排序,我們可以使用np.searchsorted
得到其中600
可以被放置在該排序的順序索引,然後簡單地使用索引和一次性移索引以獲得經索引的下,上限,像所以 -
idx = np.searchsorted(x,600)
out = x[idx-1], x[idx]
採樣運行 -
In [41]: x = [10, 100, 1000, 10000]
In [42]: idx = np.searchsorted(x,600)
In [44]: x[idx-1], x[idx]
Out[44]: (100, 1000)
我們也可以用bisect
module,我相信這可能是一個有點快 -
import bisect
idx = bisect.bisect_left(x,600)
0
Iterate over the list;檢查當前數字是否大於測試值;如果是select this value and the previous value。
enumerate()可能會使這更容易。
假設一個排序列表。
相關問題
- 1. 排序數組開始與給定值
- 2. 使用自定義排序順序排序數組,一個值是最後
- 3. 在序列化數組中找到一個特定值yii 2.0
- 4. 查找數組中整數的有效賦值(給定順序的排列)
- 5. 給定一個數組找到m個奇數的子數組的數量?
- 6. 在給定一個數組的數組
- 7. 排序由索引值與數組給定的順序
- 8. STL排序向量找到第一個元素小於或等於給定值
- 9. 給定2個一維數組,按升序排序。寫一個程序,將它們合併成一個單一的排序數組,按升序排列
- 10. php - 按數組中最後一個鍵的值排序?
- 11. 查找預先排序的數組中的給定值的索引
- 12. 排序兩個數組(值,鍵),然後排序鍵
- 13. 排序與選擇一個幾乎排序後的數組
- 14. 尋找排序數組中綁定給定值的兩個連續值的優雅方式?
- 15. 給定一個無序的整數數組,輸出中值
- 16. 給定一個值和一個排序後的數組,在Javascript中獲取數組中最接近的值的正式方法?
- 17. C++從另一個值排序數組
- 18. 基於另一個數組排序數組,然後在日期
- 19. 在排序數組中找到小於x的最大值
- 20. C#找一個數組中最接近的所有值給出給定數量
- 21. 如何在rails中找到列值= [給定數組]的記錄
- 22. CUDA找到最大值在給定的數組
- 23. 給定一個排序數組,其中有幾個數字在相反的位置。如何排序?
- 24. 給定一個對象數組,找到一個特定的鍵對象
- 25. 如何排序在PHP關聯數組,然後找到結果
- 26. 合併多個數組,然後按數組值排序
- 27. PHP的排序基於另一個數組的鍵值數組
- 28. PHP:找到一個數組中的值並返回一個找到的值
- 29. 如何在二維排序數組中找到中值?例如
- 30. 從給定的數組中找到一個最大的連續子數組
好,但我會警告OP檢查邊緣情況,例如當搜索數組的最小值和最大值以外的值,例如'0'或'10001':'idx = np.searchsorted(x,0 ); x [idx-1],x [idx]'給出'(10000,10)'和'idx = np.searchsorted(x,10001); x [idx-1],x [idx]'給出'IndexError:列表索引超出範圍'。 –
@StevenRumbalski好點。 OP需要澄清那些邊緣情況下期望的下限,上限。 – Divakar
謝謝!我永遠不會有數值超出最小值/最大值的情況 – UnlimitedQuestions