def clu(allcenter:Array[Int], data:Array[Array[Double]], cnum : Int) = {
val alldata = (data, allcenter).zipped.map { case (a, b) => b.toDouble +: a}
在此之后我想过滤所有数据的第一个元素并获取剩余元素
像这样:
alldata.fliter(_._1 == 10).map(case(a,b,c) => (b,c)) //it's way in tuple
如何以数组方式重写上面的语句? 谢谢!
最佳答案
你可以这样写:
alldata
.filter(_(0) == 10)
.map {
case Array(a, b, c) => (b, c) // from array to tuple
}
但是,您也可以同时执行这两项操作:
alldata collect {
case Array(10, b, c) => (b, c)
}
关于arrays - 在 scala 中,如何在 zip 两个数组后进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19803776/