1
如何将列表或向量中的值放入地图中?从Clojure中的值列表中返回地图
我做下面的方式,但它似乎并不简单:
user=> (into {} (map #(into [] %) (partition 2 [1 2 3 4 5 6])))
{1 2, 3 4, 5 6}
user=>
或者,如果我想也应对奇数值(尽管可能是不值得的,但也许是为了保存键):
user=> (into {} (map #(if (even? (count %))
#_=> (into [] %)
#_=> [(first %) nil])
#_=> (partition-all 2 [1 2 3 4 5])))
{1 2, 3 4, 5 nil}
user=>
有没有更简单的方法来做到这一点?
第一个可以用'(应用散列图[1 2 3 4 5 6])'完成。 – Tomo 2014-10-08 12:28:53
非常好,谢谢@Tomo。我想用你的建议,我可以用'(应用哈希映射(let [a [1 2 3 4 5]](if(odd?(count a))(conj nil)a))来实现第二个。 )'。随意把它放在答案的格式。 – pestrella 2014-10-08 12:38:25
让我们看看有没有比我更聪明的人能更好地回答它。 :) – Tomo 2014-10-08 12:45:39