Clojureでリストからマップを作るには
キーと値のリストからマップを作りたいです。
((:a 1) (:b 2))
このリストをマップにしたい。
{:a 1, :b 2}
以下のようにして結果は得られたのですが、もっとこう簡単に、またClojureらしい方法があるのではないかと思いました。
(apply merge (map #(apply assoc {} %) '((:a 1) (:b 2))))
よりよい方法があれば教えてください。
よりよいと考える理由も教えてください。
僕の方法がよくないのではないかと考える理由は効率です。リストの要素ごとにキーひとつだけのマップをまず作り、それからひとつのマップにまとめています。