python random.shuffle的随机性

Bil*_*ong 6 python random shuffle

以下是来自python网站,关于

random.shuffle(x[, random])

将序列拖放x到位.可选参数random是一个0参数函数,返回随机浮点数[0.0, 1.0); 默认情况下,这是函数random().

注意,即使相当小len(x),排列的总数x也大于大多数随机数发生器的周期; 这意味着永远不会产生长序列的大多数排列.

如果我想重复一个随机的排列['a'..'k'],似乎随机播放不会给我随机性.我的理解是对的吗?

谢谢!

Sil*_*ost 6

你没有什么可担心的.虽然在len(x)2000年以下,random.shuffle应该工作得很好.


Chr*_* B. 6

对于长度为11的序列,有11个!或39,916,800(~2 25.3)可能的排列.对于Mersienne Twister(Python的随机算法),期间是2 19937 - 1.换句话说,你会没事的.