如何将两个给定的向量混合到一个新的向量中,它以交替的顺序保存它们的值。
(f [a a] [b b]) ; > [a b a b]
我想到了这一点:
(flatten (map vector [:a1 :a2] [:b1 :b2]))
但也许有更简单的方法。
答案 0 :(得分:8)
您可以使用interleave
:
(interleave [:a :a] [:b :b])
答案 1 :(得分:1)
另一种选择:
w3wp
(apply into (map vector [:a1 :a2] [:b1 :b2]))
是可行的方法。
答案 2 :(得分:1)
您可以使用解构:
((fn [[a1 a2] [b1 b2]] [a1 b1 a2 b2]) [1 2] [3 4])
;[1 3 2 4]