Clojure:使用多个密钥访问地图

时间:2014-08-22 11:38:52

标签: map clojure key

我试图访问我认为的地图"地图"使用我所说的"多个键"拉出多个,甚至可能是一些相同的值。

这是我尝试做的事情(试过很多变化,不起作用):

(:a :b :c :b :a {:a "a" :b "b" :c "c"})

这是我想要或期待的回应:

"a" "b" "c" "b" "a"

任何人都知道怎么做?

感谢。

1 个答案:

答案 0 :(得分:4)

这有用吗? =>显示从我的REPL返回的内容。

(map {:a "a" :b "b" :c "c"} [:a :b :c :b :a])
=> ("a" "b" "c" "b" "a")

你也可以使用地图作为函数调用,fyi。

如果您想避免将密钥包装在集合中,您可以执行以下操作:

(defn map-seq [m & ks]
  (map m ks))

(map-seq {:a "a" :b "b" :c "c"} :a :b :c :b :a)
=> ("a" "b" "c" "b" "a")