我需要一个包含基数为nlittle的整数的列表,这些整数必须是随机的(valuemin,value)但我得到的错误样本大于运行下面代码的人口
nlittle=random.randrange(5,15)
value=random.randint(1,100)
valuemin=int(valore*0.8)
minmoduniform=5*valoremin
maxmoduniform=20*valore
puniform=random.sample(xrange(valuemin,value), nlittle)
rouniform=random.sample(xrange(valuemin,value), nlittle)
如果nlittle(在我的代码中)大于xrange的差异,我该如何解决这个问题并打印一个列表? TY
答案 0 :(得分:1)
rands = [random.randint(valuemin, value) for x in xrange(nlittle)]
这会在nlittle
和valuemin
之间选择value
个整数。
答案 1 :(得分:0)
//获取基数
我同意@Jasper。改写你的问题。
可能的解决方案可能是使用,
n= xrange(valuemin,value)
m= xrange(valuemin,value)
puniform=random.sample(n, min(len (n) ,nlittle))
rouniform=random.sample(m, min(len(m) ,nlittle))
//查看您的代码可能出错的原因。
您的代码片段在多个实例中可能会遇到麻烦。
让我们来看一个案例。
nlittle是5到15之间的随机整数。说它是15 值介于0到100之间。表示已分配3。 希望,valuemin不到三个说1.(我无法确定,因为我不知道valoremin)
你试图从2个对象的列表中获取15个对象的样本,这些对象会给你错误。
在此处查看随机库的documentatoin。它会更有帮助 https://docs.python.org/2/library/random.html
我在网站上为random.sample(pop,k)添加了一个摘录。
random.sample(population,k)
返回k长度的唯一元素列表 从人口序列中选择。用于随机抽样而不用 更换。
2.3版中的新功能。
返回包含来自总体的元素的新列表 让原始人口保持不变。结果列表在 选择顺序,以便所有子切片也将是有效的随机 样本。这允许抽奖获奖者(样本)被分割 成为大奖和第二名的获奖者(下属)。
人口中的成员不需要是可以清洗或独特的。如果 人口包含重复,然后每次出现都是可能的 选择样本。
要从一系列整数中选择样本,请使用xrange()对象作为 一个论点。这对于采样来说尤其快速且节省空间 来自大量人口:样本(xrange(10000000),60)。