将这样的平面列表变成这样的正确方法是什么:
(1 2 3 4 5 6 7 8 9)
进入一系列向量:
([1 2 3] [4 5 6] [7 8 9])
抱歉,我认为这是工具箱之外的事情,但我无法想到正确的关键字。
答案 0 :(得分:4)
(->> '(1 2 3 4 5 6 7 8 9) (partition 3) (map vec))
获取原始列表,然后将其分区为3,最后将每个分区映射到矢量。
我认为使用->>
宏可以让它更好看。
答案 1 :(得分:2)
user> (def flat-seq (range 1 10))
#'user/flat-seq
user> (map vec (partition-all 3 flat-seq))
;=> ([1 2 3] [4 5 6] [7 8 9])