我是 Haskell 的新手,我只是想写一个列表理解来计算列表中每个不同值的频率,但我在最后一部分遇到了麻烦。
到目前为止,我有这个:
frequency :: Eq a => [a] -> [(Int,a)]
frequency list = [(count y list,y) | y <- rmdups ]
涉及 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
先感谢您。