博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Python】random模块
阅读量:6847 次
发布时间:2019-06-26

本文共 1892 字,大约阅读时间需要 6 分钟。

Python中的random模块用于随机数生成,对几个random模块中的函数进行简单介绍。如下:

random.random()

用于生成一个0到1的随机浮点数。如:

import randomrandom.random()

输出:

0.3701787746508932

random.uniform(a,b)

用于生成一个指定范围内的随机浮点数,两个参数一个是上线,一个是下线。如:

random.uniform(10,20)

 输出:

16.878776709127855

random.randint(a,b)

用于生成指定范围内的整数,生成上线和下线之间的随机数,如:

random.randint(10,20)

 输出:

14

random.randrange([start], stop[, step])

从指定范围内,按指定基数递增的集合中 获取一个随机数。如:

random.randrange(10, 100, 2)

结果相当于从[10, 12, 14, 16, … 96, 98]序列中获取一个随机数。

random.choice(sequence)

参数sequence表示一个有序类型。这里要说明 一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。如:

random.choice((“Tuple”,”List”, “Dict”))

输出:

List

random.shuffle(x[, random])

用于将一个列表中的元素打乱,如:

x=[“Python”,”data”,”random”,”Mining”,”good”]random.shuffle(x)print x

输出:

[‘Python’, ‘Mining’, ‘good’, ‘random’, ‘data’]

random.sample(sequence, k)

从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列,如:

lists=[1,2,3,4,5,6,7,8,10]a=random.sample(lists,3)print a

输出:

[4, 7, 5]

 

numpy模块中有random模块,这两个模块在功能方面和性能方面有一定的差别,numpy.random模块有以下一些函数和功能模型:

numpy.random.rand(d0, d1, …, dn):

其中d0, d1, …, dn为整数(int)型,输出一个shape为(d0, d1, …, dn)的矩阵。如:

np.random.rand(3,2)

输出:

array([          [ 0.14022471,  0.96360618],          [ 0.37601032,  0.25528411],          [ 0.49313049,  0.94909878]])

numpy.random.randn(d0, d1, …, dn)

其中d0, d1, …, dn)为整数型,输出标准正太分布的矩阵。

生产的分布,则sigma * np.random.randn(…) + mu,如下:

若我们要生成满足正太分布为N(3,2.5^2),2行4列的array

2.5 * np.random.randn(2, 4) + 3

输出:

array([         [-4.49401501,  4.00950034, -1.81814867,  7.29718677],         [ 0.39924804,  4.68456316,  4.99394529,  4.84057254]])

numpy.random.randint(low, high=None, size=None)

生产一定范围内的元素为整数的array。

low为下限,size为生成的array大小,如果high为none则生成0~low的均匀分布随机数,若指定了high,那么生产low~high的均匀分布随机数。如生产2×4的在(0,4)的array,则:

np.random.randint(5, size=(2, 4))

输出:

array([         [4, 0, 2, 1],         [3, 2, 2, 0]])

 

本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/p/4593349.html,如需转载请自行联系原作者

你可能感兴趣的文章
第20件事 风险分析
查看>>
今天做首字母查询功能时调用的一个函数
查看>>
【JDK1.8】JUC.Lock综述
查看>>
初识PCA-主成分分析
查看>>
C# EF中调用 存储过程并调回参数
查看>>
C# Azure-让http自动跳转到https链接
查看>>
第三周作业
查看>>
JVM指令集介绍
查看>>
Improved RGB-D-T based Face Recognition 论文笔记
查看>>
10-事件对象
查看>>
Android Camera开发:使用GLSurfaceView预览Camera 基础拍照
查看>>
exe文件作为服务启动
查看>>
(32)odoo中的编码问题
查看>>
Python视频人脸检测识别
查看>>
20061012: 再次通宵
查看>>
web前端 学习之路 一
查看>>
Java的日期格式化常用方法
查看>>
POJ2761 Feed the dogs
查看>>
WCF系列(八) - WCF安全系列(三) - netTCPBinding绑定之Message安全模式
查看>>
ES6 入门 book实现
查看>>