计数元素的出现 [英] count occurrences of elements

查看:98
本文介绍了计数元素的出现的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

计数列表中的所有元素是Haskell中的一行:

Counting all elements in a list is a one-liner in Haskell:

count xs = toList (fromListWith (+) [(x, 1) | x <- xs])

以下是一个示例用法: / p>

Here is an example usage:

*Main> count "haskell scala"
[(' ',1),('a',3),('c',1),('e',1),('h',1),('k',1),('l',3),('s',2)]

可以在Scala中表达如此优雅吗?

Can this function be expressed so elegantly in Scala as well?

推荐答案

scala> "haskell scala".groupBy(identity).mapValues(_.size).toSeq
res1: Seq[(Char, Int)] = ArrayBuffer((e,1), (s,2), (a,3), ( ,1), (l,3), (c,1), (h,1), (k,1))

这篇关于计数元素的出现的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆