重复阵列采样产生重复。为什么? (红宝石)

时间:2013-02-21 03:42:44

标签: arrays duplicates shuffle sample

在Ruby中:

我从数组中采样元素。我看到每30个样本左右重复(相同的元素)。有时最接近5-6个样本。为什么呢?

这是我的代码:

some_array = IO.readlines("file with 5000 unique elements")

some_array.shuffle!

@random_element = some_array.sample

puts @random_element

1 个答案:

答案 0 :(得分:0)

如果您想要数组中的n个随机非重复元素,则应调用some_array.sample(n)

Sample不保证两个连续的调用不会包含重复项;它保证在一次通话中选择的所有元素都不会。