Scala:在一个结构中合并两个数组

MLe*_*ria 4 arrays scala

我有两个数组:

val diceProbDist = new Array[Double](2 * DICE + 1)
Run Code Online (Sandbox Code Playgroud)

val diceExpDist = new Array[Double](2 * DICE + 1)
Run Code Online (Sandbox Code Playgroud)

我想合并一个单一的结构(某种元组,也许):

(0, 0.0, 0,0)(1, 0.0, 0.0)(2, 0.02778, 0.02878)...
Run Code Online (Sandbox Code Playgroud)

其中第一个条目是数组索引,第二个条目是第一个数组值,第三个条目是第二个数组值.

是否有一些scala函数可以实现(使用地图或类似的拉链)?

谢谢,ML

Tza*_*har 7

val diceProbDist = Array(0.1, 0.2, 0.3)
val diceExpDist = Array(0.11, 0.22, 0.33)

diceProbDist
 .zip(diceExpDist)
 .zipWithIndex
 .map { case ((v1, v2), i) => (i, v1, v2) }

// result: Array((0,0.1,0.11), (1,0.2,0.22), (2,0.3,0.33))
Run Code Online (Sandbox Code Playgroud)