13
在Clojure中,有一個滑動窗口在(有限的,不是太大)seq上的最好方法是什麼?我應該只使用drop
和take
並跟蹤當前的索引,還是有更好的方法,我錯過了?滑動窗口seq
在Clojure中,有一個滑動窗口在(有限的,不是太大)seq上的最好方法是什麼?我應該只使用drop
和take
並跟蹤當前的索引,還是有更好的方法,我錯過了?滑動窗口seq
我認爲partition步驟1做的:
user=> (partition 3 1 [3 1 4 1 5 9])
((3 1 4) (1 4 1) (4 1 5) (1 5 9))
如果你想在窗戶上運行,也可以方便的地圖要做到這一點:
user=> (def a [3 1 4 1 5 9])
user=> (map (partial apply +) (partition 3 1 a))
(8 6 10 15)
user=> (map + a (next a) (nnext a))
(8 6 10 15)