相关疑难解决方法(0)

Haskell - 计算列表中每个不同元素出现的次数

我是Haskell的新手,我只是想编写一个列表理解来计算列表中每个不同值的频率,但是我在最后一部分遇到了麻烦.

到目前为止我有这个:

frequency :: Eq a => [a] -> [(Int,a)] 
frequency list = [(count y list,y) | y <- rmdups ]
Run Code Online (Sandbox Code Playgroud)

涉及rmdups的最后一部分有问题.

count函数接受一个字符,然后是一个字符列表,并告诉你该字符出现的频率,代码如下.

count :: Eq a => a -> [a] -> Int
count x [] = 0
count x (y:ys) | x==y = 1+(count x ys)
               | otherwise = count x ys
Run Code Online (Sandbox Code Playgroud)

先感谢您.

haskell

9
推荐指数
5
解决办法
2万
查看次数

Haskell - 是否有标准函数来提供列表中每个项目的计数?

可能重复:
计算列表中的唯一元素计算列表
中每个元素的频率

我试过Google,Hoogle和这里并没有看到任何明显的东西.

它应该采取['a', 'b', 'e', 'c', 'e', 'a', 'e']和返回[('a', 2), ('b', 1), ('c', 1), ('e', 3)]或相应的东西.

haskell list map count

-1
推荐指数
1
解决办法
1029
查看次数

标签 统计

haskell ×2

count ×1

list ×1

map ×1