如何将数字列表转换为地图?

unj*_*nj2 6 clojure

我有一个键列表: (1 2 3 4)

我想要一个值设置为0的地图,如下所示:{1 0, 2 0, 3 0, 4 0}.我怎么做?

Jam*_*s P 15

你可以用zipmap函数做这样的事情:

(zipmap '(1 2 3 4) (repeat 0))
=> {4 0, 3 0, 2 0, 1 0}
Run Code Online (Sandbox Code Playgroud)

zipmap获取键列表和值列表,并将它们转换为映射.该repeat函数创建一个无限的0序列. zipmap当它到达较短列表的末尾时停止,所以只是不要传递两个无限序列:)