0

我如何计算从地图列表中丢弃零值的移动和网络访问?输出应该是这样的“Statistic mobile = 1 web = 2”,但在其他语言上都是不可变的,一个简单的 i++ 解析,但在 clojure 中如何。谢谢。

        def data [{:name "app1" :type "mobile" }
        {:name "site1" :type "web" }
        {:name "site1" :type "web" }
        {:name "boot" :type nil }]
4

2 回答 2

7
(frequencies (map :type data))

{"mobile" 1, "web" 2, nil 1}
于 2013-10-19T16:07:04.713 回答
1
user=> (for [[k v] (group-by :type data) :when k] [k (count v)])
(["mobile" 1] ["web" 2])
于 2013-10-19T16:11:33.557 回答