可能重复:
Counting unique elements in a list
Count frequency of each element in a list
我试过Google,Hoogle和这里并没有看到任何明显的东西。
应该{{1}}并返回['a', 'b', 'e', 'c', 'e', 'a', 'e']
或类似的东西。
答案 0 :(得分:6)
我会用地图来计算:
import qualified Data.Map as M
countElems :: (Ord a) => [a] -> M.Map a Int
countElems = M.fromListWith (+) . flip zip (repeat 1)
答案 1 :(得分:2)
没有。你可以使用例如
import Data.List
import Control.Arrow
map (head &&& length) $ group $ sort ['a', 'b', 'e', 'c', 'e', 'a', 'e']
或者考虑使用MultiSet。