내가 원하는 목록을 그룹화 : 변환에같은 목록의 그룹 요소
val lst = List(1,2,3,4,5)
그것으로 새로운 목록을 반환해야합니다
val newlst = List(List(1), List(1,2), List(1,2,3), List(1,2,3,4), Lis(1,2,3,4,5))
내가 원하는 목록을 그룹화 : 변환에같은 목록의 그룹 요소
val lst = List(1,2,3,4,5)
그것으로 새로운 목록을 반환해야합니다
val newlst = List(List(1), List(1,2), List(1,2,3), List(1,2,3,4), Lis(1,2,3,4,5))
(1 to lst.size map lst.take).toList
그것을해야합니다.
을 foldLeft
보다 효율적으로 될 것으로 보인다 못생긴 비록 : 꼭 일부 꼬리를 가지고
(lst.foldLeft((List[List[Int]](), List[Int]()))((x,y) => {
val z = x._2 :+ y;
(x._1 :+ z, z)
}))._1
로 꽤 또는 다른 사람과 같은 짧은 아니하지만, 영혼을위한 재귀 :
scala> createFromElements(List(1,2,3,4,5))
res10: List[List[Int]] = List(List(1), List(1, 2), List(1, 2, 3), List(1, 2, 3, 4), List(1, 2, 3, 4, 5))
어쨌든 먼저 시도해 봤으면 좋겠습니다. (1 to lst.length) .map (i => lst.take (i)). toList'. –