【发布时间】:2017-08-29 20:07:20
【问题描述】:
假设我有一个嵌套的地图结构,比如
{:val1 {:m1 1 :m2 2 :m3 2} :val2 {:m1 4 :m2 8 :m3 7}}
这个例子只有两个值,但通常可能有更多。我知道每个嵌套映射的键都是相同的(上例中的:m1、:m2 和:m3)。我有一个关键字列表,比如说
[:m1 :m3]
对于列表中给出的每个关键词,我想将每个内部映射的值除以某个数字,比如 5。继续我的例子,我想得到
{:val1 {:m1 1/5 :m2 2 :m3 2/5} :val2 {:m1 4/5 :m2 8 :m3 7/5}}
我该怎么做?对于固定的内部键,例如:m1,我可以做
(map #(update-in % [1 :m1] / 5) nested-map)
但我不确定如何将其概括为关键字列表。谢谢!
【问题讨论】:
-
看看specter。
标签: clojure