Python random模块常用函数详解:生成随机数、字符串与列表操作

阿橙
阿橙
发布时间:2026-10-12| 6人浏览过
原创

本文详细介绍Python中random模块的核心用法,涵盖生成0到1浮点数、指定范围浮点数与整数、按步长获取随机数,以及从序列中随机选取元素、打乱列表顺序和随机抽样等常用方法。通过具体代码示例解析各函数的语法、参数及返回值,帮助开发者高效处理随机数据需求。

在Python中,生成随机数的核心模块是random,使用前需通过import语句导入。接下来将详细解析该模块的具体用法。

Python生成随机浮点数:random.random

random.random()函数用于生成一个0到1之间的随机浮点数,其取值范围为0 <= n < 1.0。

注意:以下代码示例均在Python3.5环境下测试通过,若使用Python2版本,代码可能需要稍作调整。

描述

random()方法返回一个随机生成的实数,该数值位于区间(0, 1)内。

语法

random()方法的调用语法如下:

import random

random.random()

注意:random()并非直接可用,必须先导入random模块,随后通过random静态对象调用该方法。

参数

无

返回值

返回一个随机生成的实数,取值范围在[0, 1)之间。

实例

以下代码展示了random()方法的具体使用方式:

>>> import random
>>> print ("random 1 : ", random.random())
random 1 : 0.8325656436327418
>>> print ("random 2 : ", random.random())
random 2 : 0.9205070325517919

运行上述实例后,输出结果如下:

random 1 : 0.8325656436327418

random 2 : 0.9205070325517919

Python生成指定精度浮点数:random.uniform

random.uniform函数的原型为random.uniform(a, b),用于生成指定范围内的随机浮点数。其中a和b分别代表上限和下限。若a大于b,则生成的随机数n满足b <= n <= a;若a小于b,则满足a <= n <= b。

>>> import random
>>> print (random.uniform(1, 10))
2.444412473072692
>>> print (random.uniform(10, 1))
4.617930290730046

运行结果示例:

2.444412473072692

4.617930290730046

Python生成指定范围整数:random.randint

random.randint()函数的原型为random.randint(a, b),用于生成指定范围内的随机整数。参数a为下限,参数b为上限,生成的随机数n满足a <= n <= b。

注意:下限a必须小于或等于上限b。

>>> import random
>>> print (random.randint(11, 20)) #生成的随机数n: 12 <= n <= 20
13
>>> print (random.randint(20, 20)) #结果永远是20
20

运行结果示例:

13

20

Python获取指定范围内随机数:random.randrange

randrange()方法从指定递增基数集合中返回一个随机数,默认基数为1。

random.randrange的函数原型为random.randrange([start], stop[, step]),用于从指定范围内,按指定步长递增的集合中获取一个随机数。

例如:random.randrange(10, 100, 2),其效果相当于从[10, 12, 14, 16, ... 96, 98]序列中随机选取一个数。

random.randrange(10, 100, 2)的结果与random.choice(range(10, 100, 2))等效。

>>> import random
>>> print (random.randrange(10, 18, 2))
16

运行结果示例:

16

Python从列表、元组或字符串中随机获取元素:random.choice

random.choice用于从序列中随机选取一个元素。

其函数原型为random.choice(sequence),其中sequence参数表示一个有序类型。

需要说明的是:sequence在Python中并非特定类型,而是泛指一系列有序类型,包括list、tuple和字符串等。关于sequence的详细信息,可查阅Python手册中的数据模型章节。

>>> import random
>>> print (random.choice("jb51.net"))
t
>>> print (random.choice(["jb", "51", "net"]))
jb
>>> print (random.choice(("jb", "51", "net")))
51

运行结果示例:

t

jb

51

Python列表随机排序:random.shuffle

random.shuffle的函数原型为random.shuffle(x[, random]),用于将列表中的元素顺序打乱。示例如下:

>>> import random
>>> list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> random.shuffle(list)
>>> print (list)
[7, 2, 8, 5, 3, 10, 1, 9, 6, 4]

运行结果:

[7, 2, 8, 5, 3, 10, 1, 9, 6, 4]

Python从列表中随机获取指定数量项目:random.sample

random.sample的函数原型为random.sample(sequence, k),用于从指定序列中随机获取指定长度k的片段。

需要注意的是,sample函数不会修改原始序列。

>>> import random
>>> list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> slice = random.sample(list, 5) #从list中随机获取5个元素,作为一个片断返回
>>> print (slice)
[1, 5, 9, 3, 2]
>>> print (list) #原有序列不会改变。
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

运行结果示例:

[1, 5, 9, 3, 2]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

本文主要讲解Python随机函数random的使用方法,内容涵盖Python随机数字、随机字符串及随机列表等操作。如需了解更多关于Python random模块的使用技巧,请点击下方相关链接查看。

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

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 算法库。