Alg*_*man 0 functional-programming scala
假设我有这样的Scala列表:
val mylist = List(4,2,5,6,4,4,2,6,5,6,6,2,5,4,4)
Run Code Online (Sandbox Code Playgroud)
如何将其转换为计数列表和元素列表?例如,我想转换mylist为:
val count = List(3,5,3,4)
val elements = List(2,4,5,6)
Run Code Online (Sandbox Code Playgroud)
这意味着,在中mylist,我有3个出现2,有5个出现4,依此类推。
在过程中,这很容易,因为我可以制作两个空列表(用于计数和元素)并在进行迭代时填充它们。但是,我不知道如何在Scala中实现这一目标。
可以说是最短的版本:
val elements = mylist.distinct
val count = elements map (e => mylist.count(_ == e))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
639 次 |
| 最近记录: |