基于Python中random.sample()的替代方案


Posted in Python onMay 23, 2020

python中random.sample()方法可以随机地从指定列表中提取出N个不同的元素,但在实践中发现,当N的值比较大的时候,该方法执行速度很慢,如:

numpy random模块中的choice方法可以有效提升随机提取的效率:

基于Python中random.sample()的替代方案

需要注意的是,需要置replace为False,即抽取的元素不能重复,默认为True。

基于Python中random.sample()的替代方案

补充知识:Python: random模块的随即取样函数:choice(),choices(),sample()

choice(seq): 从seq序列中(可以是列表,元组,字符串)随机取一个元素返回

choices(population, weights=None, *, cum_weights=None, k=1):

从population中进行K次随机选取,每次选取一个元素(注意会出现同一个元素多次被选中的情况),weights是相对权重值,population中有几个元素就要有相对应的weights值,cum_weights是累加权重值,例如,相对权重〔10, 5, 30,5〕相当于累积权重〔10, 15, 45,50〕。

在内部,在进行选择之前,相对权重被转换为累积权重,因此提供累积权重节省了工作。返回一个列表。

sample(population, k)从population中取样,一次取k个,返回一个k长的列表。

可以像这样使用sample(range(10000000), k=60)

以上这篇基于Python中random.sample()的替代方案就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python多线程编程(四):使用Lock互斥锁
Apr 05 Python
最大K个数问题的Python版解法总结
Jun 16 Python
Django使用HttpResponse返回图片并显示的方法
May 22 Python
一看就懂得Python的math模块
Oct 21 Python
Python面向对象之继承和多态用法分析
Jun 08 Python
python celery分布式任务队列的使用详解
Jul 08 Python
Python Opencv任意形状目标检测并绘制框图
Jul 23 Python
python实现两个字典合并,两个list合并
Dec 02 Python
python pip安装包出现:Failed building wheel for xxx错误的解决
Dec 25 Python
Python中实现输入超时及如何通过变量获取变量名
Jan 18 Python
python-sys.stdout作为默认函数参数的实现
Feb 21 Python
python 画条形图(柱状图)实例
Apr 24 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
May 23 #Python
keras中模型训练class_weight,sample_weight区别说明
May 23 #Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
May 23 #Python
Keras实现将两个模型连接到一起
May 23 #Python
keras 获取某层输出 获取复用层的多次输出实例
May 23 #Python
给keras层命名,并提取中间层输出值,保存到文档的实例
May 23 #Python
keras小技巧——获取某一个网络层的输出方式
May 23 #Python
You might like
先进的自动咖啡技术,真的可以取代咖啡师吗?
2021/03/06 冲泡冲煮
PHP中的session永不过期的解决思路及实现方法分享
2011/04/20 PHP
php实现可运算的验证码
2015/11/10 PHP
thinkPHP内置字符串截取函数用法详解
2016/11/15 PHP
防止动态加载JavaScript引起的内存泄漏问题
2009/10/08 Javascript
如何用JavaScript动态呼叫函数(两种方式)
2013/05/03 Javascript
jquery获取radio值(单选组radio)
2014/10/16 Javascript
js控制div弹出层实现方法
2015/05/11 Javascript
Bootstrap按钮下拉菜单组件详解
2016/05/10 Javascript
jQuery实现查找链接文字替换属性的方法
2016/06/27 Javascript
jstree的简单实例
2016/12/01 Javascript
Bootstrap面板学习使用
2017/02/09 Javascript
JS变量中有var定义和无var定义的区别以及es6中let命令和const命令
2017/02/19 Javascript
微信小程序位置授权处理方法
2019/06/13 Javascript
jQuery模仿ToDoList实现简单的待办事项列表
2019/12/30 jQuery
JavaScript实现随机点名器
2020/03/25 Javascript
高质量Python代码编写的5个优化技巧
2017/11/16 Python
深入理解Django的中间件middleware
2018/03/14 Python
在Python中使用gRPC的方法示例
2018/08/08 Python
详解Python requests 超时和重试的方法
2018/12/18 Python
Django框架模板注入操作示例【变量传递到模板】
2018/12/19 Python
Python FtpLib模块应用操作详解
2019/12/12 Python
PyCharm中如何直接使用Anaconda已安装的库
2020/05/28 Python
PyCharm常用配置和常用插件(小结)
2021/02/06 Python
css3 给背景设置渐变色的方法
2019/09/12 HTML / CSS
阿根廷首家户外用品制造商和经销商:Montagne
2018/02/12 全球购物
产品工艺师的岗位职责
2013/11/15 职场文书
小学教师节活动方案
2014/01/31 职场文书
2014年单位植树节活动方案
2014/03/23 职场文书
2014年高数考试作弊检讨书
2014/12/14 职场文书
接待员岗位职责
2015/02/13 职场文书
法学专业求职信范文
2015/03/19 职场文书
2016年度农村党员干部主题教育活动总结
2016/04/06 职场文书
各种货币符号快捷输入
2022/02/17 杂记
css常用字体属性与背景属性介绍
2022/02/28 HTML / CSS
Redis超详细讲解高可用主从复制基础与哨兵模式方案
2022/04/07 Redis