如何从列表中随机选择一定数量的元素

Pra*_*mar 2 scala

我想从列表中随机选择一定数量的元素,并从中生成另一个列表.例如,在包含100个元素的列表中,我想随机选择20个元素并将其存储在另一个列表中.

Tra*_*own 5

最简单的方法是单行:

scala> util.Random.shuffle((1 to 100).toList).take(10)
res0: List[Int] = List(63, 21, 49, 70, 73, 14, 23, 88, 28, 97)
Run Code Online (Sandbox Code Playgroud)

你可以尝试变得聪明并避免改变整个列表,但这几乎绝对没有必要,并且很容易弄错.