2

seqこれがtuplesScalaの

val t = Seq((1,2,3),(4,5,6))

各タプルの最初の要素を独自のシーケンスに抽出するのが好きです。

Seq(1,4)

Scalaでこれを行うにはどうすればよいですか?

4

2 に答える 2

11

map各タプルを使用して、最初の要素に変換するだけです。

t.map(x => x._1)

またはそれより短い:

t.map(_._1)
于 2012-06-20T15:13:12.730 に答える
6

複数の列を抽出するための一般的な形式:

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)
}
于 2017-07-01T10:11:58.433 に答える