我想要採取一些輸入,對其運行計算,然後找到最小值,並獲取創建最小值的參數。Clojure使用地圖來存儲結果和參數
alist = [1 2 3 4 5 -4]
; I want [[1 -1] [2 -2] [3 -3]]
; the following doesn't work. how can i make it work?
(map #([% (* -1 %)]) [ 1 2 3])
它也可以是散列圖,用於存儲結果。
這應該是荒謬的微不足道的,但我不能得到它的工作。此外,我的名單是一個懶惰的seq,所以我不能只用原始列表壓縮結果。
; this doesn't work cause alist is a lazy-seq in my program
(let [results (map #(* -1 %) alist)]
(map vector alist results)
)
你的問題對我來說還不清楚,但你可能想看看min-key雖然 – RedDeckWins 2014-10-19 23:41:59
你怎麼得到''[[1 -1] [2 -2] [3 -3]]? – 2014-10-20 01:40:36