(testing "zipmap"
(is (= {:a 1 :b 2} (zipmap [:a :b] '(1 2))))
(is (= {3 1, 2 2, 1 3} (zipmap [1 2 3] [3 2 1])))
(is (= {} (zipmap [] [:a :b])))
(is (= {2 :b, 1 :a} (zipmap [1 2 3] [:a :b])))我解决了前四个问题。但我想不出最后一个。我们需要填充zipmap部分。(我在那里放了两个问号)。问题是,我们需要把什么东西放在那里才能得到这个输出:
{:list '() :map {} :vector [] :set #{}}
(is (= {:list '() :map {} :vector [] :set #{}} (zipmap ? ? )))))这其实是我家庭作业的一部分,但我真的想知道答案。
谢谢,
发布于 2015-04-08 00:51:22
zipmap接受两个序列,一个包含所有键,另一个包含所有值。它生成一个映射,其中每个键与另一个列表中相同位置上的值匹配。
user> (zipmap [:list :map :vector :set] [`() {} [] #{}])
{:set #{}, :vector [], :map {}, :list ()}在这种情况下,您被要求提供不同类型集合的关键字序列和空示例序列,以生成到集合示例的关键字映射。
https://stackoverflow.com/questions/29503698
复制相似问题