以下是来自python网站,关于
random.shuffle(x[, random])
将序列
x
拖放到位。可选参数random是一个0参数函数,在[0.0, 1.0)
中返回一个随机浮点数;默认情况下,这是函数random()
。请注意,对于相当小的
len(x)
,x
的排列总数大于大多数随机数生成器的周期;这意味着永远不会产生长序列的大多数排列。
如果我想重复['a'..'k']
的随机排列,似乎随机播放不会给我随机性。我的理解是对的吗?
谢谢!
答案 0 :(得分:6)
You don't have anything to worry about. len(x)
在{2000}以下,random.shuffle
应该可以正常使用。
答案 1 :(得分:6)
对于长度为11的序列,有11个!或39,916,800(~2 25.3 )可能的排列。对于Mersienne Twister(Python的随机算法),期间为2 19937 - 1.换句话说,你会没事的。