相关疑难解决方法(0)

Python 2.X中range和xrange函数有什么区别?

显然xrange更快但我不知道为什么它更快(除了轶事到目前为止没有证据表明它更快)或者除此之外还有什么不同

for i in range(0, 20):
for i in xrange(0, 20):
Run Code Online (Sandbox Code Playgroud)

python loops range xrange python-2.x

690
推荐指数
15
解决办法
36万
查看次数

获取随机样本

我有这个清单:

colors = ["R", "G", "B", "Y"]
Run Code Online (Sandbox Code Playgroud)

我希望从中获得4个随机字母,但包括重复.

运行这个只会给我4个独特的字母,但绝不会有任何重复的字母:

print(random.sample(colors,4))
Run Code Online (Sandbox Code Playgroud)

如何获得4种颜色的列表,可能重复的字母?

python random python-3.x

27
推荐指数
3
解决办法
3万
查看次数

从一组N中随机选择n条记录

我需要n从一组N(where 0 < n < N)中随机选择记录.

一种可能的算法是:

遍历列表并为每个元素,使选择的概率= (number needed) / (number left)

因此,如果您有40个项目,则第一个项目有5/40可能被选中.

如果是,下一个有4/39机会,否则它有5/39机会.当你到达目的地时,你会得到5件物品,而且在此之前你通常会拥有所有物品.

假设一个好的伪随机数发生器,这个算法是否正确?


注意

stackoverflow上有很多这类问题(其中很多都被标记为C#中List <T>中选择N个随机元素的重复).

上面的算法经常被提出(例如Kyle Cronin的答案)并且总是受到质疑(例如,见 这里,这里,这里,这里 ......).

我可以对此事做最后的决定吗?

algorithm correctness random-sample

3
推荐指数
1
解决办法
1035
查看次数