Python生成随机二维数组及random模块常用方法详解

竹里
竹里
发布时间:2026-10-13| 5人浏览过
原创

本文详解如何在Python中通过列表解析结合random模块生成随机二维数组,并系统梳理random模块中choice、randint、random、randrange、sample、shuffle及uniform等常用函数的功能与用法,帮助开发者快速掌握随机数生成技巧。

在近期对Python内置函数及random相关方法的探索中,发现无法直接通过单一函数生成随机二维数组。经过多方尝试未果后,受相关技术博客启发,最终利用列表解析(List Comprehension)的方式成功实现了随机二维数组的构建。

具体实现方案如下所示:

a = [[random.randint(1, 4) for j in range(1, 3)] for i in range(1, 11)]
print(array(a))

代码中random.randint(1, 4)用于生成指定范围内的随机整数。通过该方式,成功创建了一个包含10行2列的二维数组结构。

[[1 3] 
[1 2] 
[3 1] 
[1 2] 
[1 2] 
[3 3] 
[3 1] 
[1 3] 
[1 2] 
[3 3]]

在此基础上,对random模块中其他常用方法进行了汇总整理,具体内容如下:

1、choice()函数

该函数用于从给定的序列中随机选取一个元素。

random.choice(['a','b','c'])

示例输出结果为字符'b'。

2、randint()函数

此函数用于生成指定区间内的整数,其特点是可以包含边界值。

random.randint(1, 2)

示例输出结果为整数'1'。

3、random()函数

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

random.random()

示例输出结果为浮点数'0.29892210378218154'。

4、randrange()函数

该函数用于从指定的序列中获取一个随机数。

random.randrange(10,100,2)

示例输出结果为整数'68'。

若在调用时遇到报错信息'module ‘numpy.random' has no attribute ‘randrange'

请确保在代码开头正确引入了random模块,即添加import random语句。

5、sample()函数

该函数用于从指定序列中随机抽取指定长度的片段,且不会改变原始序列的顺序。

list2 = [i**2 for i in range(0, 10)]
print(random.sample(list2, 3))

示例输出结果为列表'[16, 9, 4]'。

接下来检查变量list2的状态是否发生变化。

结果显示list2仍为'[0, 1, 4, 9, 16, 25, 36, 49, 64, 81] '。

由此可见,sample函数在执行过程中不会修改原始序列数据。

6、shuffle()函数

该函数用于将列表中的元素顺序打乱。

list1 = [1,2,3,4,5,6]
random.shuffle(list1)
print(list1)

示例输出结果为打乱后的列表'[5, 3, 2, 1, 4, 6]'。

7、uniform()函数

该函数用于生成指定范围内的随机浮点数。

a=random.uniform(2,3)

示例输出结果为浮点数'2.046090433068011'。

以上关于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 算法库。