【发布时间】:2018-02-19 09:33:09
【问题描述】:
所以当我在 Python 中生成 1000 组随机数 (0..2000) 时,我可以轻松地执行以下操作:
iters = 1000
randIdx = []
numbers = range(0, 2000)
for i in range(iters):
randIdx.append(random.sample(numbers, 8))
问题是代码非常慢。有没有办法避免 for 循环告诉函数只输出 1000 套,或者有某种解决方法? 我想只生成 8000 个随机数,但问题是在一组 8 个数字中不允许重复时,这是不可能的!
例子:
randIdx=[]
indexRange = range(0, 3)
for i in range(5):
randIdx.append(random.sample(indexRange, 2))
[[0, 1], [2, 1], [2, 0], [1, 0], [2, 1]]
【问题讨论】:
-
您当前的代码引发了异常,您能否展示一个较小输入所需输出的示例?例如
range(5)和numbers = 3 -
抱歉,刚刚将范围从 iters 更改为 numbers..
标签: python python-3.x numpy random