猿问

生成范围内的'n'个唯一随机数

我知道如何在Python范围内生成随机数。


random.randint(numLow, numHigh)

我知道我可以将其循环生成n个数量的这些数字


for x in range (0, n):

    listOfNumbers.append(random.randint(numLow, numHigh))

但是,我需要确保该列表中的每个数字都是唯一的。除了条件语句之外,还有一种直接的方法可以生成n个唯一的随机数吗?


编辑:重要的是列表中的每个数字都与其他数字不同。


所以


[12,5,6,1] =好



[12,5,5,1] =不好,因为数字5出现两次。


莫回无
浏览 507回答 4
4回答

尚方宝剑之说

首先生成数据范围,然后像这样随机播放import randomdata = range(numLow, numHigh)random.shuffle(data)print data通过这种方式,您将获得特定范围内的所有数字,但顺序是随机的。但是您可以使用random.sample从这样的一系列数字中获取所需元素的数量print random.sample(range(numLow, numHigh), 3)
随时随地看视频慕课网APP

相关分类

Python
我要回答