这是seq
Scalatuples
中的一个
val t = Seq((1,2,3),(4,5,6))
我喜欢将每个元组的第一个元素提取到自己的序列中,即
Seq(1,4)
我如何在 Scala 中做到这一点?
这是seq
Scalatuples
中的一个
val t = Seq((1,2,3),(4,5,6))
我喜欢将每个元组的第一个元素提取到自己的序列中,即
Seq(1,4)
我如何在 Scala 中做到这一点?
只需使用map
每个元组并将其转换为其第一个元素:
t.map(x => x._1)
或更短:
t.map(_._1)
提取多列的一般形式:
def extractColumns3[T1, T2, T3](t: Seq[(T1, T2, T3)]): (Seq[T1], Seq[T2], Seq[T3]) =
t.foldLeft((Seq.empty[T1], Seq.empty[T2], Seq.empty[T3])) { (columns, row) ⇒
(columns._1 :+ row._1, columns._2 :+ row._2, columns._3 :+ row._3)
}