我是函数式编程的新手,我有一个 Seq[Double],我想检查每个值是否高于 (1)、低于 (-1) 或等于 (0) 之前的值,例如:
val g = Seq(0.1, 0.3, 0.5, 0.5, 0.5, 0.3)
我希望得到如下结果:
val result = Seq(1, 1, 0, 0, 0, -1)
有没有比以下更简洁的方法:
val g = Seq(0.1, 0.3, 0.5, 0.5, 0.5, 0.3)
g.sliding(2).toList.map(xs =>
if (xs(0)==xs(1)){
0
} else if(xs(0)>xs(1)){
-1
} else {
1
}
)
最佳答案
关于scala - 如何与 Seq[Double] 中的先前值进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35089476/