Seq上的多任务[Tuple2]

时间:2012-10-15 16:50:50

标签: scala collections tuples variable-assignment

在这里晃动,看起来很简单。

拥有Seq[Tuple2[A,B]],称之为foo,并且我想将Tuple2提取到(Seq[A],Seq[B]),我可以进行一站式多任务。

val(a,b) = foo ??

尝试了地图,平面地图和其他失败的变体。

如果你愿意,请把灯洒下来; - )

1 个答案:

答案 0 :(得分:7)

尝试unzip

文档将其指定为

def unzip[A1, A2](implicit asPair: (A) ⇒ (A1, A2)): (Seq[A1], Seq[A2])

所以你可以说val (a, b) = foo.unzip

另一种方式(从x: Seq[A]y: Seq[B]z: Seq[(A,B)]),您可以使用val z = x.zip(y)