Python random模块生成随机数与选取列表元素的完整指南

桃夭
桃夭
发布时间:2026-10-13| 6人浏览过
原创

本文详细介绍Python中random模块的核心用法,涵盖从指定范围生成单个或批量随机整数、带权重的概率抽样,以及从列表中不重复选取多个元素的方法。通过random.choice、random.sample和random.uniform等函数的具体实例,帮助开发者掌握生成随机数和随机选取列表元素的高效技巧。

Python random模块基础与随机整数生成

在使用Python进行随机数生成或元素选取前,首先需要导入random模块。


import random

若需从1到33的整数范围内随机获取1个数字,允许结果重复,可使用以下方法实现。


random.choice(range(1,34))

通过print语句输出随机数,每次执行代码仅生成并显示一个随机结果。


print(random.choice(range(1,34)))

若需从1到33的整数范围内随机获取6个数字,且允许这些数字之间重复,可通过指定k参数实现。


random.choices(range(1,34),k=6,weights=range(1,34))

在此场景中,权重值用于表示特定数字或区间被输出的概率大小,最终输出结果为一个列表。

若需从1到33的整数范围内随机获取6个数字,且要求这6个数字互不重复,应采用不重复抽样方法。

使用sample函数进行不重复抽样


random.sample(range(1,34),6)

上述操作将返回一个无序的列表,其中包含选取的随机元素。

random.uniform(a, b)函数用于生成指定范围内的随机浮点数,其中参数a和b分别代表上限和下限。

random.randint(a, b)函数用于生成指定范围内的随机整数,其中参数a为下限,参数b为上限。

补充说明:Python中随机选取列表中的元素有多种常用方法。

其中一种方法是使用random模块提供的sample函数。

该函数的主要功能如下:

random.sample(seq, k)用于从序列或集合seq中随机选取k个独立的元素。

使用该函数时需指定以下参数:

seq:指定源序列,可以是元组、列表或字符串。

k:指定需要选取的元素个数。

以下是具体的使用实例:


In [1]: import random
In [2]: f = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
In [3]: f
Out[3]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
In [4]: random.sample(f, 5)
Out[4]: [5, 3, 6, 9, 4]

使用choice函数选取单个元素

另一种方法是使用random模块提供的choice函数。

该函数的主要功能如下:

random.choice(seq)用于从序列或集合seq中随机选取一个元素。

使用该函数时需指定以下参数:

seq:指定源序列,可以是元组、列表或字符串。

以下是具体的使用实例:


In [1]: import random
In [2]: f = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
In [3]: f
Out[3]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
In [4]: random.choice(f)
Out[4]: 2

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。