随机数字与python的大数组

gdl*_*dlm 9 python arrays random

我需要使用随机数(10⁵数)生成一个大数组(或列表).我这样想:

vet = random.sample(range(10),100000)
Run Code Online (Sandbox Code Playgroud)

但是当我尝试运行时:

vet = random.sample(range(10),10000)
Run Code Online (Sandbox Code Playgroud)

文件"/usr/lib/python2.7/random.py",第320行,样本中引发ValueError("样本大于填充")ValueError:样本大于人口

有解决方案吗

tkns

mar*_*ing 24

你想要的是什么

[random.random() for _ in xrange(100000)]
Run Code Online (Sandbox Code Playgroud)

随机模块文档:

random.sample(population,k)返回从种群序列中选择的独特元素的长度列表.用于无需更换的随机抽样.

所以在打电话的时候random.sample(range(10), 100000)你试图以长度为10的序列提取100000个独特的元素,这显然是行不通的.

注意

  • random.random()返回[0; 1)
  • random.randrange([start], stop[, step]) 从序列中返回一个随机元素 range([start], stop[, step])
  • random.randint(a, b)在[a;中返回一个整数值 b]
  • 使用时random.sample,len(population) >= k必须保持平等


g.d*_*d.c 8

我想你是在追求这样的事情:

vet = [random.randint(1,10) for _ in range(100000)]
Run Code Online (Sandbox Code Playgroud)