random模块——随机数常用函数介绍
目录
random.random():随机产生一个[0,1)的数字
random.seed():设置随机种子
random.shuffle():打乱序列
random.getstate():获取当前随机状态
random.setstate():设置当前随机状态
random.getrandbits(k):生成占内存k位以内的随机整数
random.uniform(m,n):返回一个在m,n之间的数
random.randint(m,n):返回一个在m,n之间的整数
random.randrange(start,end,step):从start到end但不包括end,步长位step的随机数
random.choice(a):随机返回a中的一个随即元素
random.choices(a,weights=None,cum_weights=None,k=1):是random.choice()的升级版
random.sample():随机取样
random.random():随机产生一个[0,1)的数字
>>> random.random()
0.1397457849666789
random.seed():设置随机种子
拥有相同随机种子的程序每次从头执行的随机结果都是一样的
>>> import random
>>> random.seed(0)#第一次设定随机种子
>>> print(random.random())
0.8444218515250481
>>> print(random.random())
0.7579544029403025
>>> random.seed(0)#重新设定随机种子
>>> print(random.random())
0.8444218515250481
random.shuffle():打乱序列
>>> a=[1,2,3,4,5,6]
>>> random.shuffle(a)
>>> a
[5, 1, 2, 6, 3, 4]
random.getstate():获取当前随机状态
经常用于记录当前的随机状态,与下面的random.setstate()搭配使用
random.setstate():设置当前随机状态
>>> a=[1,2,3,4,5,6]
>>> b=[11,12,13,14,15,16]
>>> state=random.getstate()#提前存储随机状态
>>> random.shuffle(a)
>>> a
[5, 1, 2, 6, 3, 4]
>>> random.setstate(state)#将当前随即状态设定为之前存储的随机状态
>>> random.shuffle(b)
>>> b
[15, 11, 12, 16, 13, 14]
#根据输出的结果我们可以看到数字随机后的位置是不变的
random.getrandbits(k):生成占内存k位以内的随机整数
>>> random.getrandbits(10)
516
>>> random.getrandbits(10)
142
>>> random.getrandbits(10)
288
random.uniform(m,n):返回一个在m,n之间的数
>>> random.uniform(10,11)
10.647375592201469
random.randint(m,n):返回一个在m,n之间的整数
>>> random.randint(10,12)
10
>>> random.randint(10,12)
11
random.randrange(start,end,step):从start到end但不包括end,步长位step的随机数
>>> random.randrange(10,100,50)
10
>>> random.randrange(10,100,50)
60
random.choice(a):随机返回a中的一个随即元素
>>> a=[1.1,2.2,3.3]
>>> random.choice(a)
2.2
>>> random.choice(a)
1.1
random.choices(a,weights=None,cum_weights=None,k=1):是random.choice()的升级版
a:待选择的序列
weights:相对权重
cum_weights:累加权重
k:选择次数
>>> random.choices(a,weights=[1,5,4],k=10)
[2.2, 2.2, 3.3, 2.2, 3.3, 2.2, 2.2, 3.3, 2.2, 3.3]
#每一个成员被抽到的概率是相对权重之和的负一次幂,乘以自己的权重
>>> random.choices(a,weights=[3,4,4],k=10)
[1.1, 2.2, 3.3, 1.1, 2.2, 1.1, 3.3, 2.2, 2.2, 2.2]
#cum_weights是weights的累加即当weight=[1, 2, 3, 4]时,则cum_weights=[1, 3, 6, 10],就是一个个的加起来
>>> random.choices(a,cum_weights=[3,3,3],k=10)
[1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1]
>>> random.choices(a,cum_weights=[1,3,6],k=10)
[3.3, 3.3, 3.3, 3.3, 2.2, 1.1, 3.3, 2.2, 1.1, 3.3]
random.sample():随机取样
与上述choices的区别在于sample不能选取重复的元素,所以如果随机取样的次数超过序列中元素的个数,sample函数将会报错
>>> random.sample(a,k=2)
[2.2, 3.3]
>>> random.sample(a,k=4)
Traceback (most recent call last):File "<stdin>", line 1, in <module>File "D:\python\lib\random.py", line 449, in sampleraise ValueError("Sample larger than population or is negative")
ValueError: Sample larger than population or is negative
random模块——随机数常用函数介绍相关推荐
- python中re模块的函数_python中的re模块,常用函数介绍
参考: http://www.cnblogs.com/tina-python/p/5508402.htm ======== 1,预定义字符集,可以写在字符集[....]中 \d 数字: \D 非数字 ...
- random模块常用函数介绍
random是numpy中超好用的随机数模块,在数据分析中,我们不可避免需要一些随机值,如果自己手动输入,不仅不方便,还不随机.现在我们来一起学习一下这个模块. 简单随机数 rand(d0, d1, ...
- 用于生成随机数的python标准库模块是_详解Python基础random模块随机数的生成
详解Python基础random模块随机数的生成 来源:中文源码网 浏览: 次 日期:2019年11月5日 [下载文档: 详解Python基础random模块随机数的生成.txt ] ( ...
- python random库生成伯努利随机数的方法_详解Python基础random模块随机数的生成
随机数参与的应用场景大家一定不会陌生,比如密码加盐时会在原密码上关联一串随机数,蒙特卡洛算法会通过随机数采样等等.Python内置的random模块提供了生成随机数的方法,使用这些方法时需要导入ran ...
- Python — matplotlib.pyplot 绘图模块及常用函数
目录 1. 基本用法与折线图 pyplot 模块的常用函数 折线图函数: matplotlib.pyplot.plot() 常用 format_string 参数 常用函数 grid () 控制各轴网 ...
- TF:tensorflow框架中常用函数介绍—tf.Variable()和tf.get_variable()用法及其区别
TF:tensorflow框架中常用函数介绍-tf.Variable()和tf.get_variable()用法及其区别 目录 tensorflow框架 tensorflow.Variable()函数 ...
- php spl函数,PHP SPL标准库中的常用函数介绍
这篇文章主要介绍了PHP SPL标准库中的常用函数介绍,本文着重讲解了spl_autoload_extensions().spl_autoload_register().spl_autoload()三 ...
- R语言使用psych包进行主成分分析PCA和探索性因子分析EFA的常用函数介绍:principal、fa、fa.parallel、factor.plot、fa.diagram、scree
R语言使用psych包进行主成分分析PCA和探索性因子分析EFA的常用函数介绍:principal.fa.fa.parallel.factor.plot.fa.diagram.scree 目录
- python日历函数_Python—日历函数—日历模块的常用函数,calendar,常见
Python-日历函数-日历模块的常用函数,calendar,常见 发表时间:2020-07-07 日历函数 calendar模块中提供了非常多的函数来处理年历和日历. 例如:打印2020年7月份的日 ...
最新文章
- 用php画一个蓝底红色的圆_php把图片处理成圆形透明的头像
- java jndi 例子_MEJB附录B,jndi例子无法运行的问题
- 2020 6-7月 每日花语
- linux db2 强制停止,DB2强制退出ROLLBACK状态
- easyui中的datetimebox 只显示年月日_设置Win10任务栏显示星期几方法
- 洛谷2014 选课(树形DP)树形背包问题
- Session会话技术
- idea创建web项目运行报404错误_使用IDEA新建Web工程启动报404的错误
- 如何在MySQL中设置主从复制
- 解读webpack的bundle.js
- android supportv4最新版本19.1,Android Studio:无法找到:’com.android.support:support-v4:19.1.0′...
- 【Flink】运行Flink 1.6.2 程序偶然报错 Premature end of GET request
- 新开博了,欢迎大家来做客!
- Linux 2 unit1 虚拟机,自动安装
- 合成未来宝宝照片_父母照片重叠是宝宝长相?关晓彤鹿晗颜值逆天,邓超孙俪……...
- Ubuntu下Android Studio连接手机无法识别
- linux上应用程序的执行机制
- Eclipse查看java源代码
- Chromium源码中 media::VideoFrame 的3个属性(coded_size, visible_rect, natual_size)的理解
- 跑三小时的monkey测试该怎么算_Android命令Monkey压力测试,详解