我如何计算移动和网络访问权限,从地图列表中丢弃零值?输出应该是这样的“统计移动= 1 web = 2”,但所有其他语言都可以通过简单的i ++解决,但是如何在clojure中。谢谢。
def data [{:name "app1" :type "mobile" }
{:name "site1" :type "web" }
{:name "site1" :type "web" }
{:name "boot" :type nil }]
答案 0 :(得分:7)
(frequencies (map :type data))
给出
{"mobile" 1, "web" 2, nil 1}
答案 1 :(得分:1)
user=> (for [[k v] (group-by :type data) :when k] [k (count v)])
(["mobile" 1] ["web" 2])