在特定数量的子列表中划分列表

前端之家收集整理的这篇文章主要介绍了在特定数量的子列表中划分列表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在“特定数量的”子列表中划分列表.

也就是说,例如,如果我有一个列表List(34,11,23,1,9,83,5),并且预期的子列表数是3,那么我想要List(List(34,11),List(23,1),列表(9,5)).

我该怎么做呢?我尝试了分组,但它似乎没有做我想要的.

PS:这不是一个家庭作业问题.请提供直接的解决方案,而不是一些模糊的建议.

编辑:

要求稍有变化……

给定列表List(34,5)和子列表数= 3,我希望输出为List(List(34),List(11),5)). (即每个列表包含1个元素,但最后一个包含所有剩余元素的列表除外.)

解决方法

为了满足您更改的要求,

def splitN[A](list: List[A],n: Int): List[List[A]] =
  if(n == 1) List(list) else List(list.head) :: splitN(list.tail,n - 1)

猜你在找的Scala相关文章