【问题标题】:How can Python randomly shuffle a list of 100,000 items?Python 如何随机打乱 100,000 个项目的列表?
【发布时间】:2018-11-22 16:36:55
【问题描述】:

我正在尝试对长数字序列进行一些统计分析。这需要对列表进行随机洗牌。测试很敏感,所以公平性和随机性非常重要。该列表是 100,000 个整数,但我想尝试 100 万个。


注意。

  • 公平胜过效率或速度。

  • 我可以访问 /dev/urandom。

  • 美国 NIST 实验室在其熵测量套件 SP800-90B EntropyAssessment 中使用 C++ 执行此操作。他们对 100 万字节的序列进行排序。我是@https://github.com/usnistgov/SP800-90B_EntropyAssessment

【问题讨论】:

  • 到目前为止你有什么尝试?
  • 你能用 NumPy 吗?
  • @NilsWerner 我可以,但不会受到 2080 年的限制吗?
  • 不,当然不是!

标签: python random shuffle


【解决方案1】:

您可以在 NumPy 中轻松洗牌数百万个数字:

import numpy as np

data = np.arange(1e6)
%timeit np.random.shuffle(data)
# 32.7 ms ± 2.25 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)

【讨论】:

  • 我误解了“最大”链接实际上告诉我的内容。当然你是对的,当然:-)
【解决方案2】:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-05
  • 1970-01-01
相关资源
最近更新 更多