Scala:将 Map 应用于元组列表

2024-04-15

非常简单的问题:我想做这样的事情:

var arr1: Array[Double] = ...
var arr2: Array[Double] = ...

var arr3: Array[(Double,Double)] = arr1.zip(arr2)

arr3.foreach(x => {if (x._1 > treshold) {x._2 = x._2 * factor}})

我尝试了很多不同的语法版本,但都失败了。我该如何解决这个问题?这不会很困难...

Thanks!


解决这个问题的多种方法,例如考虑使用collect它提供了一个不可变的集合arr4, 如下,

val arr4 = arr3.collect {
  case (x, y) if x > threshold => (x ,y * factor)
  case v => v 
}

有了这样的理解,

for ((x, y) <- arr3) 
  yield (x, if (x > threshold) y * factor else y)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Scala:将 Map 应用于元组列表 的相关文章

随机推荐