最近找遍了python的各个函数发现无法直接生成随机的二维数组,其中包括random()相关的各种方法,都没有得到想要的结果。最后在一篇博客中受到启发,通过列表解析的方法得到随机的二维数组。
具体如下:
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\'
记得在开头加上import random
5、sample()
从指定序列中随机获取指定长度的片断,不改变原来序列顺序
list2 = [i**2 for i in range(0, 10)] print(random.sample(list2, 3))
结果为‘[16, 9, 4]\'
再看看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产生随机的二维数组实例详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
继续阅读与本文标签相同的文章
上一篇 :
《Python编程:从入门到实践》 第二章 笔记
下一篇 :
炒币有风险,AI算法帮助识别ICO诈骗
-
谷歌AI模型ML-Jam激发音乐家创作,人机合作或成未来大势!
2026-05-19栏目: 教程
-
OCP-052考试题库汇总(49)-CUUG内部解答版
2026-05-19栏目: 教程
-
自己实现 ECS 购买页需要用到的 API
2026-05-19栏目: 教程
-
Istio从懵圈到熟练 – 二分之一活的微服务
2026-05-19栏目: 教程
-
又一个里程碑,谷歌发布最新研究,机器学习开辟新篇章!
2026-05-19栏目: 教程
