Mic*_*ael 8 scala list-comprehension
假设我有一个数字列表.如何将列表转换为其"增量"列表 - 后续数字的成对差异?
例如:鉴于List(5, 2, 1, 1)我想得到List(3, 1, 0)
Lui*_*hys 15
正确的答案是
(xs, xs drop 1).zipped.map(_-_)
Run Code Online (Sandbox Code Playgroud)
当你传递一个空的或一位数的列表时,它甚至不会爆炸.
Tom*_*icz 10
List(5,2,1,1).sliding(2).map(pair => pair(0) - pair(1))
Run Code Online (Sandbox Code Playgroud)
另外两个可能的解决方
list.zip(list.drop(1)).map { case (x, y) => x - y }
// in case you don't like the extractor method of dealing with Tuples
list.zip(list.drop(1)).map(p => p._1 - p._2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
852 次 |
| 最近记录: |