gpt4 book ai didi

python - 在 Python 3.4 中生成具有重复项的随机数的随机列表

转载 作者:太空宇宙 更新时间:2023-11-03 16:25:16 25 4
gpt4 key购买 nike

我见过多个线程打印随机数列表,但没有看到符合我的特定要求的线程,而且我似乎无法正确处理。

我想开发一个代码,它将在某个间隔生成一个随机数列表,该列表是一个随机长度,单独的某个单独的间隔,而且,重复项需要位于该列表中。我也想用 1 行来做。

我使用 random.sample 提出了一个很好的尝试,但是样本不包含重复项,而且它也不会让我使列表内的数字范围大于列表本身。 (例如,它无法生成长度为 5 个数字的列表,但数字大于 1 到 5。)

>> a = random.sample(range(10), random.randint(1,10,1))
>> print(a)
[6, 3, 4, 2, 5, 7, 8]

为了摆脱不重复的问题和数字大于长度的问题,我尝试了这个,但我不能使范围随机,否则我会得到一个类型错误:

>> a = [random.randint(1,20) for x in range(1, 10)]
>> print(a)
[8, 7, 20, 20, 5, 18, 9, 3, 19]

这是我尝试随机范围的版本:

>> a = [random.randint(1,20) for x in random.randrange(1,10)]
>> print(a)
Traceback (most recent call last):

File "<ipython-input-258-b3a6b0409007>", line 1, in <module>
a = [random.randint(1,20) for x in random.randrange(1,10)]

TypeError: 'int' object is not iterable

不太清楚为什么我不能在某个时间间隔创建随机范围,但我是初学者,所以我确定我只是错过了一些东西。

最佳答案

random.randrange(1,10) 返回一个整数,如错误所示。您可以将其用作 range 函数的上限,如下所示:

a = [random.randint(1,20) for x in range(1, random.randrange(1,10))]

关于python - 在 Python 3.4 中生成具有重复项的随机数的随机列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38044364/

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