我是clojure的新手,以及我如何找到简单的数组操作,这些操作在python中很容易在clojure中完成.例如,在clojure中执行此操作的惯用方法是什么?
for i = 1 to len(arr)-1:
sum[i] = arr[i-1] + i
Run Code Online (Sandbox Code Playgroud)
Clojure有一套很好的序列操作函数,通常对这些常见任务有帮助.这个例子就是(map-indexed + arr)
user> (def arr [1 2 38 2 3 9 4 2])
#'user/arr
user> (map-indexed + arr)
(1 3 40 5 7 14 10 9)
Run Code Online (Sandbox Code Playgroud)
虽然这只是因为你选择的具体例子.一个更普遍的答案是使用map
,mapv
,reduce
,或reductions
或for
为这样的事情.例如:
user> (for [i (range 0 (count arr))] (+ i (arr i)))
(1 3 40 5 7 14 10 9)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
291 次 |
最近记录: |