gpt4 book ai didi

list - 我可以将 "transpose"映射列表转换为 Clojure 中的列表映射吗?

转载 作者:行者123 更新时间:2023-12-04 16:29:51 26 4
gpt4 key购买 nike

嗨 huys :我想为 map 中的所有值绘制一个“平均值”。说我有一个 map 列表:

[{"age" 2 "height" 1 "weight" 10},
{"age" 4 "height" 4 "weight" 20},
{"age" 7 "height" 11 "weight" 40}]

我想要的输出是
{"age 5 "height" 5 ....}

///下面是我脑子里的乱七八糟,即我想象的在 Clojure 中工作的方式......不要太认真

转置列表:
  {"age" [2 4 7] "height" [1 4 11] } 

然后我可以简单地做一些类似的事情(再次,在这里创建一个名为 freduce 的函数)
  (freduce average (vals (map key-join list)))

要得到
{"age" 5 "weight" 10 "height" 7}

最佳答案

创建向量映射:

(减少(fn [m [k v]]
(assoc m k (conj (get m k []) v)))
{}
(应用 concat map 列表))

创建平均值图:

(减少(fn [m [k v]]
(assoc m k (/(reduce + v) (count v))))
{}
向量图)

关于list - 我可以将 "transpose"映射列表转换为 Clojure 中的列表映射吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7864499/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com