Python生成随机二维数组及random模块常用方法详解
本文详解如何在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模块常用方法的实例详解内容至此结束,希望能为读者提供有价值的参考,欢迎继续支持本站获取更多技术分享。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













