我有一个不确定项目列表。我需要在scala中将它们分成固定大小的列表。
想象一下,列表中有450个项目,我需要将其分为4个列表,每个列表100个项目。我们如何实现这一目标?
答案 0 :(得分:4)
这可以通过grouped(size: Int)
来实现。
示例:
val l = List(1,2,3,4,5,6,7,8,9,10)
println(l.grouped(2).toSeq) // --> Stream(List(1, 2), ?)
println(l.grouped(2).toList) // --> List(List(1, 2), List(3, 4), List(5, 6), List(7, 8), List(9, 10))
来自IterableLike
(ScalaDoc):
/** Partitions elements in fixed size ${coll}s.
* @see [[scala.collection.Iterator]], method `grouped`
*
* @param size the number of elements per group
* @return An iterator producing ${coll}s of size `size`, except the
* last will be less than size `size` if the elements don't divide evenly.
*/
def grouped(size: Int): Iterator[Repr] = ...