假設我有一個(0, 0.1, 0.2, ..., 1)
的數組,我有一個數字0.15
,我希望能得到這個索引。由於0.15 > 0.1
和0.15 < 0.2
,它在區間2
。有沒有一種最先進的方法來做到這一點?目前我使用一個帶有var變量的for循環並遍歷每個區間,但我認爲這不是最好的方法。斯卡拉一個數組的索引間隔的索引
0
A
回答
1
假設數組進行排序,你可以嘗試:
arr.indexWhere(_ >= 0.15) - 1
如果你沒有這樣的例子 - 2
0
假設你的數組元素按升序排列,你可以定義一個簡單的函數組成一個插入元素的陣列,如下所示:
def insert(a: Array[Double], x: Double): Array[Double] = {
val i = a.indexWhere(_ >= x)
if (i >= 0) a.take(i) ++ Array(x) ++ a.drop(i) else a ++ Array(x)
}
val a = Array(0.0, 0.1, 0.2, 0.3, 0.4, 0.5)
insert(a, 1.5)
res1: Array[Double] = Array(0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 1.5)
insert(a, 3)
res2: Array[Double] = Array(0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 3.0)
insert(a, -0.1)
res3: Array[Double] = Array(-0.1, 0.0, 0.1, 0.2, 0.3, 0.4, 0.5)
+1
而不是'take(i)'和'drop(i)'你可以使用'a.patch(i,Array(x),0)'。 – jwvh
+0
@jwvh,很高興知道。謝謝。 –
相關問題
- 1. 大數組索引斯卡拉
- 2. 斯卡拉列表索引
- 3. 斯卡拉列表索引
- 4. 索引一個索引數組的多維numpy數組
- 5. 分隔一個索引爲
- 6. 斯卡拉爲什麼不元組索引爲零
- 7. 檢索數組元素在斯卡拉
- 8. 整數間隔的DSE圖形索引
- 9. 索引多維numpy的數組索引
- 10. 數組索引中的值不對應於另一個數組的索引
- 11. 一維數組中的多個索引
- 12. 得到一個數組的索引
- 13. 設置一個Python數組的索引
- 14. 打印一個數組的索引
- 15. 隔離列表中的兩個索引並將其中一個索引與另一個索引進行求和?
- 16. 搜索在數組的數組索引
- 17. 索引數組
- 18. 數組索引
- 19. 數組索引
- 20. 將一維數組索引轉換爲二維數組索引
- 21. 使數組的第一個索引prev()返回最後一個索引
- 22. 劃分數組索引除下一個索引Java
- 23. 訪問另一個數組的一個數組的索引
- 24. 基於Python中第二個數組索引值的一個數組分隔值
- 25. 在卡斯巴問題創建索引
- 26. php數組到索引索引
- 27. 設置索引索引數組時的Numpy數組值
- 28. 索引numpy數組的中間值?
- 29. 斯卡拉 - 扁平列表索引製作Tuplets
- 30. 哪個索引是3D數組中的Z索引
它可以工作,但是對邊界有一點修改。謝謝! –