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

Dre*_*rew -1 haskell list map count

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

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

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

小智 6

我会使用Map来计算:

import qualified Data.Map as M

countElems :: (Ord a) => [a] -> M.Map a Int
countElems = M.fromListWith (+) . flip zip (repeat 1)
Run Code Online (Sandbox Code Playgroud)