haskell - 如何检查双重列表长度?
问题描述
如何检查列表列表的长度?
我正在尝试使用 group (sort xs) 函数检查每个数字的频率。我想我可以使用地图和长度功能,但不知道。
import Data.List
freqs :: [Int] -> [[Int]]
freqs [] = []
freqs xs = group (sort xs)
上面代码的输出是
主>频率[3,2,1,1]
[[1,1],[2],[3]]
但我想得到每个数字的频率。因此,预期输出为 [2,1,1],1 出现两次,2 出现一次,3 出现一次。
解决方案
如果我理解正确,您基本上可以使用该函数获得map
的结果,该函数获取列表的长度。group (sort xs)
length
freqs xs = map length $ group $ sort xs
推荐阅读
- java - 如何从java insert在postgresql中插入一个包含撇号(单引号)的值?
- java - 在后台加载图像、视频
- android - 使 activity_main-small 无法正常工作
- go - zip.NewReader(bytes.NewReader(), len) 是否需要关闭或自动收集垃圾?
- sql - Add DELETE to query that returns duplicate records | SQL Server
- mysql - SQL查询按名称平均
- javascript - 使用 CSS 和不使用 JavaScript 将可变文本长度调整到固定容器宽度
- html - How to show information by selecting a date from the list
- kubernetes - 从通用 Kibana UI 监控来自多个 Kubernetes 集群(使用 GCP 和 Kops)的 pod 日志
- angular - Prime NG:打字稿中的树propagateSelectionUp