我有一个数据的散列图,其中键是字符串描述,值是整数权重。
{:a 2 :b 3 ......}
我需要将哈希转换为向量向量。每个内部向量都包含映射条目。
[[[:a 2][:b 3]...][......]]
每个内部向量都是基于某些规则构建的。 Ex所有权重的总和不应超过某个值
通常情况下,这似乎是一个很好的案例,可以将哈希转换为映射条目向量的向量。但是,我可能需要多次迭代哈希,因为我可能需要重新调整内部向量之间的条目,以便所有向量总和为某个数。
关于我应该如何建模问题的任何建议?
答案 0 :(得分:0)
嗯,首先,Clojure地图已经是矢量序列。所以不需要reduce
:
=> (for [e {:a 1 :b 2}] e)
([:a 1] [:b 2])
不应将其视为“迭代”,而应采用定义一个函数的方法,该函数接收输入向量并返回带有调整的新序列。递归调用此函数,直到达到所需的总和。