目录

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模块——随机数常用函数介绍相关推荐

  1. python中re模块的函数_python中的re模块,常用函数介绍

    参考: http://www.cnblogs.com/tina-python/p/5508402.htm ======== 1,预定义字符集,可以写在字符集[....]中 \d  数字: \D 非数字 ...

  2. random模块常用函数介绍

    random是numpy中超好用的随机数模块,在数据分析中,我们不可避免需要一些随机值,如果自己手动输入,不仅不方便,还不随机.现在我们来一起学习一下这个模块. 简单随机数 rand(d0, d1, ...

  3. 用于生成随机数的python标准库模块是_详解Python基础random模块随机数的生成

    详解Python基础random模块随机数的生成 来源:中文源码网    浏览: 次    日期:2019年11月5日 [下载文档:  详解Python基础random模块随机数的生成.txt ] ( ...

  4. python random库生成伯努利随机数的方法_详解Python基础random模块随机数的生成

    随机数参与的应用场景大家一定不会陌生,比如密码加盐时会在原密码上关联一串随机数,蒙特卡洛算法会通过随机数采样等等.Python内置的random模块提供了生成随机数的方法,使用这些方法时需要导入ran ...

  5. Python — matplotlib.pyplot 绘图模块及常用函数

    目录 1. 基本用法与折线图 pyplot 模块的常用函数 折线图函数: matplotlib.pyplot.plot() 常用 format_string 参数 常用函数 grid () 控制各轴网 ...

  6. TF:tensorflow框架中常用函数介绍—tf.Variable()和tf.get_variable()用法及其区别

    TF:tensorflow框架中常用函数介绍-tf.Variable()和tf.get_variable()用法及其区别 目录 tensorflow框架 tensorflow.Variable()函数 ...

  7. php spl函数,PHP SPL标准库中的常用函数介绍

    这篇文章主要介绍了PHP SPL标准库中的常用函数介绍,本文着重讲解了spl_autoload_extensions().spl_autoload_register().spl_autoload()三 ...

  8. 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 目录

  9. python日历函数_Python—日历函数—日历模块的常用函数,calendar,常见

    Python-日历函数-日历模块的常用函数,calendar,常见 发表时间:2020-07-07 日历函数 calendar模块中提供了非常多的函数来处理年历和日历. 例如:打印2020年7月份的日 ...

最新文章

  1. 用php画一个蓝底红色的圆_php把图片处理成圆形透明的头像
  2. java jndi 例子_MEJB附录B,jndi例子无法运行的问题
  3. 2020 6-7月 每日花语
  4. linux db2 强制停止,DB2强制退出ROLLBACK状态
  5. easyui中的datetimebox 只显示年月日_设置Win10任务栏显示星期几方法
  6. 洛谷2014 选课(树形DP)树形背包问题
  7. Session会话技术
  8. idea创建web项目运行报404错误_使用IDEA新建Web工程启动报404的错误
  9. 如何在MySQL中设置主从复制
  10. 解读webpack的bundle.js
  11. android supportv4最新版本19.1,Android Studio:无法找到:’com.android.support:support-v4:19.1.0′...
  12. 【Flink】运行Flink 1.6.2 程序偶然报错 Premature end of GET request
  13. 新开博了,欢迎大家来做客!
  14. Linux 2 unit1 虚拟机,自动安装
  15. 合成未来宝宝照片_父母照片重叠是宝宝长相?关晓彤鹿晗颜值逆天,邓超孙俪……...
  16. Ubuntu下Android Studio连接手机无法识别
  17. linux上应用程序的执行机制
  18. Eclipse查看java源代码
  19. Chromium源码中 media::VideoFrame 的3个属性(coded_size, visible_rect, natual_size)的理解
  20. 跑三小时的monkey测试该怎么算_Android命令Monkey压力测试,详解

热门文章

  1. 彻底弄清补码加减法运算,正数、负数位移运算原理
  2. OTB数据集和VOT数据集融合跟踪算法接口示例
  3. java jni ocx_Java调用ocx控件以及dll
  4. qq视频压缩的方法你知道吗
  5. 训练集、验证集以及测试集的区别
  6. windows下安装mingw-w64
  7. stm32 设置systick中断抢先式优先级
  8. const与const
  9. C++ 进程与线程---CreateProcess()函数(1)
  10. 为什么要高内聚低耦合?