以下来自python网站,关于
random.shuffle(x[, random])将序列随机播放
x到位。可选参数 random 是一个 0 参数函数,返回一个随机浮点数[0.0, 1.0);默认情况下,这是函数random()。请注意,即使是相当小
len(x)的 , 的排列总数x也大于大多数随机数生成器的周期;这意味着永远不会生成长序列的大多数排列。
如果我想重复获得 的随机排列['a'..'k'],似乎 shuffle 不会给我随机性。我的理解对吗?
谢谢!
对于长度为 11 的序列,有 11 个!或 39,916,800 (~ 2 25.3 ) 个可能的排列。对于Mersienne Twister(Python 的随机算法),周期是 2 19937 - 1。换句话说,你会没事的。
你没有什么可担心的。虽然低于len(x)2000,random.shuffle但应该可以正常工作。