tru*_*fle 1 vector clojure indexof indices
这是一个简单的问题但是,我被困住了.所以假设我有一个带负数,零和正数的输入向量.
[-1 -1 -2 -1 -4 0 -6 -1 -5 -2 -10 **4** -12 -4 -6 -1 -16 **3** -18 **2** -10 -8 -22 **12** -19
-10 -14 0 -28 **12** -30 -1 -18 -14 -22 **19** -36 -16 -22 **10** -40 **12** -42 -4 -12 -20 -46 **28** -41 -7]
Run Code Online (Sandbox Code Playgroud)
我想返回前一个向量的索引向量,其中值为正.
所以返回值是
(11 17 19 23 29 35 39 41 47)
Run Code Online (Sandbox Code Playgroud)
11是4所在的指标,17是3所在的指标,等等
我正在使用.indexOF
这就是它的回归:(11 17 19 23 23 35 39 23 47)
我认为b/c在索引23,正值是12,而在索引29,值也是12,所以它只是返回索引,它首先看到正值"12"但是我怎么能得到在这附近?
我已经阅读了线程如何在向量中找到项目的索引? 但是我仍在苦苦挣扎,因为如果你正在寻找"两个"的话,那个人似乎在谈论如何在向量中找到"两个"的索引.
你可以使用keep-indexed:
(keep-indexed (fn [idx v] (if (pos? v) idx)) input-vector)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
246 次 |
| 最近记录: |