如何建模以下转型

时间:2013-04-13 17:03:34

标签: clojure

我有一个数据的散列图,其中键是字符串描述,值是整数权重。

{:a 2 :b 3 ......}

我需要将哈希转换为向量向量。每个内部向量都包含映射条目。

[[[:a 2][:b 3]...][......]]

每个内部向量都是基于某些规则构建的。 Ex所有权重的总和不应超过某个值

通常情况下,这似乎是一个很好的案例,可以将哈希转换为映射条目向量的向量。但是,我可能需要多次迭代哈希,因为我可能需要重新调整内部向量之间的条目,以便所有向量总和为某个数。

关于我应该如何建模问题的任何建议?

1 个答案:

答案 0 :(得分:0)

嗯,首先,Clojure地图已经是矢量序列。所以不需要reduce

=> (for [e {:a 1 :b 2}] e)
([:a 1] [:b 2])

不应将其视为“迭代”,而应采用定义一个函数的方法,该函数接收输入向量并返回带有调整的新序列。递归调用此函数,直到达到所需的总和。