arrays - 在 scala 中,如何在 zip 两个数组后进行过滤

标签 arrays scala filter zip multidimensional-array

 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/

相关文章:

ios - 如何在 Swift 的类级别制作一组 UIImageViews?

sed - 如何使用sed在正则表达式中转义减号?

Java:将 char 数组转换为 int

scala - 如何 "include"另一个 sbt 文件中的常见 sbt 片段

ScalaTest:在失败的 future 中断言异常(非阻塞)

algorithm - 无向图中自由选择起始节点的最长路径的最小值

使用 ElasticSearch/Nest 过滤空字符串

php - 仅从数组中获取 5 个元素

php - Google 绘制来自 php 数组的连续 x 轴图表

php - 在 WordPress 常规设置页面中排序输入字段