基于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中os.path用法分析
Jan 15 Python
Python实现的数据结构与算法之基本搜索详解
Apr 22 Python
详解Python3中的Sequence type的使用
Aug 01 Python
浅谈Python Opencv中gamma变换的使用详解
Apr 02 Python
python3实现猜数字游戏
Dec 07 Python
解决python3 安装不了PIL的问题
Aug 16 Python
python中enumerate() 与zip()函数的使用比较实例分析
Sep 03 Python
安装python及pycharm的教程图解
Oct 10 Python
Python类如何定义私有变量
Feb 03 Python
python画图常规设置方式
Mar 05 Python
树莓派4B安装Tensorflow的方法步骤
Jul 16 Python
利用Python过滤相似文本的简单方法示例
Feb 03 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
php中使用explode查找某个字符是否存在的方法
2011/07/12 PHP
php中邮箱地址正则表达式实现与详解
2012/04/24 PHP
测试PHP连接MYSQL成功与否的代码
2013/08/16 PHP
php中adodbzip类实例
2014/12/08 PHP
HR vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
Ext 今日学习总结
2010/09/19 Javascript
JavaScript Accessor实现说明
2010/12/06 Javascript
js实现文本框中焦点在最后位置
2014/03/04 Javascript
JS操作CSS随机改变网页背景实现思路
2014/03/10 Javascript
jquery实现人性化的有选择性禁用鼠标右键
2014/06/30 Javascript
jquery.form.js实现将form提交转为ajax方式提交的方法
2015/04/07 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
2017/01/03 Javascript
JS和canvas实现俄罗斯方块
2017/03/14 Javascript
Three.js的使用及绘制基础3D图形详解
2017/04/27 Javascript
vue v-on监听事件详解
2017/05/17 Javascript
React-Native中禁用Navigator手势返回的示例代码
2017/09/09 Javascript
Nodejs模块载入运行原理
2018/02/23 NodeJs
vue.js打包之后可能会遇到的坑!
2018/06/03 Javascript
Vue自定义组件的四种方式示例详解
2020/02/28 Javascript
vue+Element-ui实现登录注册表单
2020/11/17 Javascript
[54:18]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第一场 1月22日
2021/03/11 DOTA
python将xml xsl文件生成html文件存储示例讲解
2013/12/03 Python
Python中for循环详解
2014/01/17 Python
Python语言的12个基础知识点小结
2014/07/10 Python
python读取xlsx的方法
2018/12/25 Python
Python简单过滤字母和数字的方法小结
2019/01/09 Python
python3连接kafka模块pykafka生产者简单封装代码
2019/12/23 Python
python pip如何手动安装二进制包
2020/09/30 Python
Soft Cotton捷克:来自爱琴海棉花的浴袍
2017/02/01 全球购物
什么是Deployment descriptors;都有什么类型的部署描述符
2015/07/28 面试题
给客户的道歉信
2014/01/13 职场文书
学校党委干部个人对照检查材料思想汇报
2014/10/09 职场文书
2015年公共机构节能宣传周活动总结
2015/03/26 职场文书
2015年基层党建工作汇报材料
2015/06/25 职场文书
教你使用pyinstaller打包Python教程
2021/05/27 Python
Rust中的Struct使用示例详解
2022/08/14 Javascript