首页 >后端开发 >Python教程 >如何在 Python 中生成一定范围内的唯一随机数列表?

如何在 Python 中生成一定范围内的唯一随机数列表?

Susan Sarandon
Susan Sarandon原创
2024-12-02 22:39:11763浏览

How Can I Generate a List of Unique Random Numbers Within a Range in Python?

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

鉴于能够使用 random.randint 生成一个范围内的随机数,任务就出现了生成唯一随机数列表。虽然迭代条件语句可以作为一种解决方案,但还有一种更优雅的方法可以有效地实现此结果。

随机采样

Python 的 random 模块专门提供了一个名为 Sample 的函数设计用于无需更换的采样。此函数采用总体(例如,数字列表)和样本大小作为参数,并返回从总体中随机选择的唯一元素的列表。

例如,生成 3 个唯一随机数的列表在 [1, 100] 范围内,可以使用以下代码:

import random

population = range(1, 100)  # Initialize the population
sample_size = 3  # Set the sample size
random_sample = random.sample(population, sample_size)

random_sample 现在将包含指定范围内的 3 个唯一随机数的列表

处理大小差异

需要注意的是,如果样本大小超过总体大小,样本将引发 ValueError。为了处理这种情况,可以使用 try-except 块来捕获异常并进行相应处理。

例如,要尝试从大小为 2 的总体中生成大小为 3 的样本,可以编写以下代码:

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

如果样本大小大于总体大小,此代码将打印一条信息性消息而不是崩溃。

以上是如何在 Python 中生成一定范围内的唯一随机数列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn