2012-10-15 34 views
0

在这里徘徊,看起来很简单。多个任务在一个Seq [Tuple2]

有一个Seq[Tuple2[A,B]],称之为富,我想提取Tuple2(Seq[A],Seq[B]),我可以做一站式多指派。

val(a,b) = foo ?? 

试过地图,平面地图和其他失败的变化。

棚光,如果你将;-)

回答

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)

+0

简单的东西;-)谢谢,能够以比“Foo(seq.map(_._ 1),seq.map(_._ 2))更有意义的方式拆分嵌套的表格映射真的很有用” – virtualeyes

+0

不客气!你只需要爱斯卡拉的标准库:D – Dylan