Python 如何随机打乱包含 100,000 个项目的列表?

How can Python randomly shuffle a list of 100,000 items?

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


注意。

你试过使用 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

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