以下内容:
(zipmap '(:a :b :c :c) '(1 2 3 4))评估对象:{:c 4, :b 2, :a 1}
我想要得到:
{:c '(3 4) :b '(2) :a '(1)}而不是。
我应该如何定义我自己的zipmap,它接受两个列表并返回一个具有多个键值的映射?
发布于 2013-06-17 00:30:00
这个就行了
(defn zippy [l1 l2]
(apply merge-with concat (map (fn [a b]{a (list b)}) l1 l2)))
;;; ⇒ #'user/zippy
(zippy '(:a :b :c :c) '(1 2 3 4))
;;; ⇒ {:c (3 4), :b (2), :a (1)}https://stackoverflow.com/questions/17134771
复制相似问题