Python如何随机打乱100000个项目的列表



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


NB。

  • 公平胜过效率或速度。

  • 我可以访问/dev/urandom。

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

您可以在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)

您尝试过使用numpy的shuffle吗?

https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.random.shuffle.html

或者置换,如果您不想在原地执行此操作:https://docs.scipy.org/doc/numpy-1.15.1/reference/generated/numpy.random.permutation.html

相关内容

  • 没有找到相关文章

最新更新