对python产生随机的二维数组实例详解

yipeiwu_com6年前Python基础

最近找遍了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设计】。

相关文章

用python 制作图片转pdf工具

用python 制作图片转pdf工具

最近因为想要看漫画,无奈下载的漫画是jpg的格式,网上的转换器还没一个好用的,于是乎就打算用python自己DIY一下: 这里主要用了reportlab。开始打算随便写几行,结果为若干坑...

Python中如何将一个类方法变为多个方法

Python中如何将一个类方法变为多个方法

前一篇文章《Python 中如何实现参数化测试?》中,我提到了在 Python 中实现参数化测试的几个库,并留下一个问题: 它们是如何做到把一个方法变成多个方法,并且将每个方法与相应的参...

tensorflow实现tensor中满足某一条件的数值取出组成新的tensor

tensorflow实现tensor中满足某一条件的数值取出组成新的tensor

首先使用tf.where()将满足条件的数值索引取出来,在numpy中,可以直接用矩阵引用索引将满足条件的数值取出来,但是在tensorflow中这样是不行的。所幸,tensorflow...

Python解决线性代数问题之矩阵的初等变换方法

定义一个矩阵初等行变换的类 class rowTransformation(): array = ([[],[]]) def __init__(self,array):...

Python实现KNN(K-近邻)算法的示例代码

Python实现KNN(K-近邻)算法的示例代码

一、概述 KNN(K-最近邻)算法是相对比较简单的机器学习算法之一,它主要用于对事物进行分类。用比较官方的话来说就是:给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近...