正如@Lee所建议的那样,您可以使用mapcat来完成。
E.g:
(mapcat #(if (even? %) [% %] [%]) (range 10))
将导致:
=> (0 0 1 2 2 3 4 4 5 6 6 7 8 8 9)
而不是map
,您可以使用reduce
,从空的累加器集合[]
开始。
(reduce #(conj %1 (dec %2) %2)
[]
[1 3 5 7])
所以在这里,从奇数[1 3 5 7]
的集合开始,我们在序列中添加额外的偶数。输出是:
[0 1 2 3 4 5 6 7]