我需要生成一个包含随机数( 10⁵ 数字)的大数组(或列表)。我就是这样尝试的:
vet = random.sample(range(10),100000)
但是当我尝试运行时:
vet = random.sample(range(10),10000)
文件“/usr/lib/python2.7/random.py”,第 320 行,示例中
raise ValueError("样本大于总体")
ValueError:样本大于总体
有什么解决办法吗?
tkns
你想要的是
[random.random() for _ in xrange(100000)]
来自随机模块文档 http://docs.python.org/library/random.html:
random.sample(population, k) 返回 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 ; 中的整数值乙]
- 使用时
random.sample
,平等len(population) >= k
必须持有
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)