Sha*_*ang 2 list vector clojure
如何在Clojure中将'('(...)'(...)...)转换为[[...] [...] ...]?
我有一个嵌套列表
(def a '( '(1 2 3 4) '(:a :b :c :d) )
Run Code Online (Sandbox Code Playgroud)
我想得到这样的结果:
[ [1 2 3 4] [:a :b :c :d] ]
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用时,但是innter元素仍然是一个列表而不是一个向量:
(map vec a)
;;output is ([quote (1 2 3 4)] [quote (:a :b :c :d)] )
Run Code Online (Sandbox Code Playgroud)
但我键入REPL:
(vec '(1 2 3 4))
;; output is [1 2 3 4]
Run Code Online (Sandbox Code Playgroud)
您不必引用子列表.
(def a '((1 2 3 4) (:a :b :c :d)))
Run Code Online (Sandbox Code Playgroud)
您可以使用mapv,它类似于map,但返回一个向量而不是一个惰性序列
(mapv vec a)
Run Code Online (Sandbox Code Playgroud)