gpt4 book ai didi

python - 在一个范围内生成 'n'个唯一随机数

转载 作者:IT老高 更新时间:2023-10-28 12:21:16 26 4
gpt4 key购买 nike

我知道如何在 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 出现了两次。

最佳答案

如果您只需要采样而不更换:

>>> import random
>>> random.sample(range(1, 100), 3)
[77, 52, 45]

random.sample接受人口和样本大小 k 并返回 k 人口的随机成员。

如果您必须控制 k 大于 len(population) 的情况,则需要准备捕获 ValueError:

>>> try:
... random.sample(range(1, 2), 3)
... except ValueError:
... print('Sample size exceeded population size.')
...
Sample size exceeded population size

关于python - 在一个范围内生成 'n'个唯一随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22842289/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com