タイプ A の値をペア (Seq[B]、Seq[C]) にマップする関数があります。この関数を A のシーケンスに適用し、平坦化された Seq[B] と Seq[C] のペアを返したいと考えています。コード スニペットは次のとおりです。
val a: Seq[A]
val mapped: Seq[(Seq[B], Seq[C])] = a.map(f)
val (b, c) = mapped.unzip
val bc: (Seq[B], Seq[C]) = (b.flatten, c.flatten)
解決策は受け入れられますが、これを行うためのより慣用的な方法はありますか? for-comprehensions または flatMaps について考えましたが、それらをペアに適用する方法がわかりません。