Scala、リスト内の各リストの先頭に変数のリストを追加します。
質問
私はScalaに慣れており、マップ、フラットマップ、および/または理解のために次のことを行いたいと思います。
リストl = List[List[T]]
のリストを持っています。たとえば、l = [[1,2,3],[2,4,6,4],[3,4,6,2,3]]
です。l
内の各リストは長さを変えることができます。
これでval x: List[Int] = [1,2,3]
があり、x
(サブリストの順序は関係ありません)。
私は私がマップやフラットマップを使うべきであるか、そしてこれを行うためにこれを行うべきですが、私はタイプが正しいことさえ得られません。誰かが私を助けてくれることができますか?
解決
scala> val ls = List(List(1,2,3),List(2,4,6,4),List(3,4,6,2,3))
ls: List[List[Int]] = List(List(1, 2, 3), List(2, 4, 6, 4), List(3, 4, 6, 2, 3))
scala> val xs: List[Int] = List(1,2,3)
xs: List[Int] = List(1, 2, 3)
scala> for(x <- xs; l <- ls) yield x +: l
res22: List[List[Int]] = List(List(1, 1, 2, 3), List(1, 2, 4, 6, 4), List(1, 3, 4, 6, 2, 3), List(2, 1, 2, 3), List(2, 2, 4, 6, 4), List(2, 3, 4, 6, 2, 3), List(3, 1, 2, 3), List(3, 2, 4, 6, 4), List(3, 3, 4, 6, 2, 3))
. 他のヒント
x.flatMap(i => l.map(i::_))
. 所属していません StackOverflow