如何访问向量内的向量中的所有第二个元素?

ode*_*ode 2 clojure

我有以下结构:

(def m [[120 2] [123 88] [234 77]])
Run Code Online (Sandbox Code Playgroud)

和价值

(def z 10)
Run Code Online (Sandbox Code Playgroud)

我想访问较小向量(内m)中的所有第二个元素,并将它们乘以z,然后将结果与向量的第一个元素一起存储。

即做计算(* secondvectorelement z) 结果看起来像[120 resultofcalculation]

到目前为止,我已经尝试过:

(map #(* (second m) z ))
Run Code Online (Sandbox Code Playgroud)

但我坚持这一点。TIA。

erd*_*dos 7

您可以使用带有解构for 列表理解

(for [[fst snd] m] [fst (* snd z)])
Run Code Online (Sandbox Code Playgroud)

或者使用mapupdate函数的不同方法:

(map #(update % 1 * z) m)
Run Code Online (Sandbox Code Playgroud)