【问题标题】:python random.shuffle's randomnesspython random.shuffle 的随机性
【发布时间】:2010-07-01 17:30:43
【问题描述】:

以下来自python网站,关于

random.shuffle(x[, random])

随机播放序列x。可选参数 random 是一个 0 参数函数,返回 [0.0, 1.0) 中的随机浮点数;默认情况下,这是函数random()

请注意,即使是相当小的len(x)x 的排列总数也大于大多数随机数生成器的周期;这意味着永远无法生成长序列的大多数排列。

如果我想重复获得['a'..'k'] 的随机排列,似乎 shuffle 不会给我随机性。我的理解对吗?

谢谢!

【问题讨论】:

标签: python random shuffle


【解决方案1】:

You don't have anything to worry about. len(x) 在 2000 以下时,random.shuffle 应该可以正常工作。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2017-09-23
      • 1970-01-01
      • 2019-09-19
      • 2011-03-05
      • 2016-10-17
      • 2015-12-22
      • 1970-01-01
      • 2019-12-20
      • 2018-05-11
      相关资源
      最近更新 更多