Python choices()函数详解、random模块下的常用函数
本文链接:https://blog.csdn.net/ckk727/article/details/99548223

random模块下的方法详解:
1.random.random()

随机生成一个[0,1)之间的浮点数。
2.random.randint(a,b)

随机生成[a,b]范围内一个整数。
3.random.randrange(a,b,step)

不指定step,随机生成[a,b)范围内一个整数。
指定step,step作为步长会进一步限制[a,b)的范围,比如randrange(0,11,2)意即生成[0,11)范围内的随机偶数。
不指定a,则默认从0开始。
4.random.uniform(a,b)

产生[a,b]范围内一个随机浮点数。

uniform()的a,b参数不需要遵循a<=b的规则,即a小b大也可以,此时生成[b,a]范围内的随机浮点数。但如果上面的三个方法采用这种方式就会产生TypeError或者ValueEeeor错误。

5.random.choice(seq)

从非空序列中随机选取一个数据并带回,该序列可以是list、tuple、str、set。
如果序列为空,则弹出IndexError错误。

import random
print(random.choice('biu')) #u
1
2
6.random.choices(population,weights=None,*,cum_weights=None,k=1)
Python3.6版本新增。

population:集群。
weights:相对权重。
cum_weights:累加权重。
k:选取次数。
作用:从集群中随机选取k次数据,返回一个列表,可以设置权重。
注意每次选取都不会影响原序列,每一次选取都是基于原序列。

关于random.choices()函数我举几个例子:

import random
a = [1,2,3,4,5]
#1
print(random.choices(a,k=5))
#2
print(random.choices(a,weights=[0,0,1,0,0],k=5))
#3
print(random.choices(a,weights=[1,1,1,1,1],k=5))
#4
print(random.choices(a,cum_weights=[1,1,1,1,1],k=5))
1
2
3
4
5
6
7
8
9
10
对于 #1–#4 的每一条语句不妨各自写一个循环语句让它输出个十遍八遍的,你就足以看出用法了。
这里我只提出运行结果和结论:

#1 : 重复输出10次列表a中的各个成员出现概率基本持平。
#2 : 重复输出10次每次输出均得到[3,3,3,3,3]结果。
#3 : 重复输出10次列表a中的各个成员出现概率基本持平。
#4 : 重复输出10次每次输出均得到[1,1,1,1,1]结果。
1
2
3
4
结论:

参数weights设置相对权重,它的值是一个列表,设置之后,每一个成员被抽取到的概率就被确定了。
比如weights=[1,2,3,4,5],那么第一个成员的概率就是P=1/(1+2+3+4+5)=1/15。

cum_weights设置累加权重,Python会自动把相对权重转换为累加权重,即如果你直接给出累加权重,那么就不需要
给出相对权重,且Python省略了一步执行。
比如weights=[1,2,3,4],那么cum_weights=[1,3,6,10]
这也就不难理解为什么cum_weights=[1,1,1,1,1]输出全是第一个成员1了。
1
2
3
4
5
6
7
7.random.sample(population,k)

从集群population中选取k个元素,返回一个列表,集群可以是list、tuple、str、set。

与random.choices()的区别:一个是选取k次,一个是选取k个,选取k次的相当于选取后又放回,选取k个则选取后不放回。故random.sample()的k值不能超出集群的元素个数。

import random
a = ['ahh','hhh','zzz','emm']
print(random.sample(a,3))
#['hhh', 'zzz', 'ahh']
1
2
3
4
8.random.shuffle(lst)

随机打乱序列lst的顺序并重新排序,注意它无返回值,另外lst只能是一个可变序列,且只支持有下标的序列,因此它也不适用于set,你最好只把它用在列表上。

9.random.seed(a=None,version=2)

设置随机种子的,如果不设置随机种子,则默认以系统时间作为随机种子。一般用不上。

【转载】random的常用函数相关推荐

  1. Python中random模块常用函数/方法(2)——random.random(),random.randint()和random.uniform()

    1.random.random():生成一个0到1的随机符点数: 0 <= n < 1.0 语法:random.random() #生成一个0~1之间的随机浮点数 print(" ...

  2. numpy.random模块常用函数

    在Numpy库中,常用使用np.random.rand().np.random.randn()和np.random.randint()随机函数. 1. np.random.randn()函数 作用:返 ...

  3. 【转载】mysql常用函数汇总

    转载地址:http://www.jb51.net/article/40179.htm 一.数学函数ABS(x)   返回x的绝对值 BIN(x)   返回x的二进制(OCT返回八进制,HEX返回十六进 ...

  4. random模块常用函数介绍

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

  5. matlab sskf,[转载]fortran语言常用函数

    3. 编程语言结构 abort 中止计算或循环 break 终止最内循环 case 同 select 一起使用 continue 将控制转交给外层的 for或 while循环 else 同 if一起使 ...

  6. 易优cms 标签常用函数

    [基础用法] 标签:无 描述:作用于标签变量 用法: {$field.typename|html_msubstr=###,0,10,true} 注意:函数与字段名之间用竖线(|)隔开,###表示当前变 ...

  7. Delphi----DELPHI常用函数集及简要范例(转载大富翁)

    KeyLife富翁笔记   作者 : nakata_wang 标题 : DELPHI常用函数集及简要范例 关键字: HELP Functions 函数集 简要范例 分类 : 个人专区 密级 : 公开 ...

  8. SQLserver 常用函数适用方法(转载)

    SQL Server 常用函数使用方法(持续更新) 之前就想要把一些 SQL 的常用函数记录下来,不过一直没有实行...嘿嘿... 直到今天用到substring()这个函数,C# 里面这个方法起始值 ...

  9. numpy常用函数之random.normal函数

    numpy常用函数之random.normal函数 4.np.random.normal(loc=0.0, scale=1.0, size=None) 作用:    生成高斯分布的概率密度随机数 lo ...

最新文章

  1. DFS迷宫递归所有路径 新手入门
  2. media recovery oracle,Oracle非归档模式Media Recovery错误之--ORA-26040
  3. SpringCloud学习笔记023---分布式集群之_Windows下搭建zookeeper服务器
  4. 【OCR技术系列之五】自然场景文本检测技术综述(CTPN, SegLink, EAST)
  5. 北漂九年 ,雷军终于买房了:壕掷52亿元
  6. Android摄影App,这20款摄影APP,让你的照片飞上天!
  7. linux 分区100g整数,[转载]硬盘分区 整G 整数 法(从1g到200g最精确的整数分区)(转)...
  8. C#窗体控件—textbox
  9. AP与CP介绍【转】
  10. Android 9 (P)在user模式下无法使用fastboot烧录怎么破
  11. 李欣桐 计算机竞赛,【赛出精彩】我校举行数学计算能力竞赛活动
  12. 推荐 :数据可视化与信息可视化浅谈
  13. 猿创征文|我的后端成长之路(985科班两年,我发现了大学正确打开方式)
  14. 完美破解下载神器IDM
  15. 银行用户画像建设步骤
  16. 如何能正常获取17track物流网站的物流信息?
  17. android文本自动添加图片,Android textView文字添加图片 imageSpan使用
  18. bnc转vga转换器
  19. IOS学习路线(2014-05-08)
  20. 5G之花含苞待放 高通支持生态系统有序前行

热门文章

  1. 温州计算机职高学校排名,2018年温州十大技校排名 最好的学校有哪些
  2. 实现百度地图-区域高亮展示
  3. Greenplum 数据库
  4. FPGA入门指导手册-----------它是空的(不信你点开看看啊)
  5. html 星星评分显示,js实现的星星评分特效
  6. 跑带宽度多少合适_易跑科普:一般跑步机跑带宽度和长度多少合适?
  7. python云盘链接神器_百度网盘分享链接秒挂?试试这个神器
  8. Jetpack Compose 中的架构思想
  9. php rfc3986规范,PSR-7 HTTP 消息接口规范 上篇
  10. VMware虚拟机安装XP系统演示