这个问题已经在这里有一个答案:
- 拆分列表与固定数量的元素的多个列表 5个回答
我想细分列表到列表清单为每个子列表最大尺寸。 例如,给定List(1,2,5,3,90,3,4,1,0,3)
定义为4子表和最大尺寸,我想获得List(List(1,2,5,3), List(90,3,4,1), List(0,3))
回来。
这是已经完成:
val l: List[Int] = ???
val subSize: Int = 4
val rest: Int = if(l.size % subSize == 0) 1 else 0
val subdivided: List[List[Int]] = for{
j <- List.range(0, l.size/subSize - rest, 1)
}yield{
for{
i <- List.range(subSize*j,subSize*j+3,1)
if(i < l.size)
}yield{
l(i)
}
}
是否有这样做的更好,功能更强大的方式?