我有两个用整数填充的数组。它们的大小相同(val array1
和val array2
)。
我想将它们融合成元组,并将其索引作为第三个元素。例如,如果我们有val array1 = Array(5,2,6,2)
和val array2 = Array(9,8,3,4)
,那么我想获得(5,9,0),(2,8,1),(6,3,2),(2,4,3)
。
我尝试array1.zip(array2).zipWithIndex
,但它提供了[(Int,Int),Int]
,而我想要(Int,Int,Int)
或类似的东西。
答案 0 :(得分:4)
简单地说:
array1.zip(array2).zipWithIndex.map { case ((a, b), i) => (a, b, i) }
答案 1 :(得分:1)
array1.zip(array2).zipWithIndex
你几乎就在这里。
这是你想要的吗?
(array1.zip(array2).zipWithIndex).map {
case ((i, j), z) => (i, j, z)
}
res5: Array[(Int, Int, Int)] = Array((5,9,0), (2,8,1), (6,3,2), (2,4,3))
元组上没有扁平,但是当你知道结构时,你可以轻松地做到这一点,就像这里一样。