基于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之从if开始语句的征程
Sep 14 Python
聊聊Python中的pypy
Jan 12 Python
Python中字符串List按照长度排序
Jul 01 Python
Django基础知识 web框架的本质详解
Jul 18 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
Jul 23 Python
Python Web框架之Django框架Form组件用法详解
Aug 16 Python
在python image 中安装中文字体的实现方法
Aug 22 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
Sep 30 Python
使用openCV去除文字中乱入的线条实例
Jun 02 Python
python3.4中清屏的处理方法
Jul 06 Python
python实现计算器简易版
Dec 17 Python
利用Python实时获取steam特惠游戏数据
Jun 25 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批量去除BOM头代码分享
2015/06/26 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
2017/07/10 PHP
PHP实现的杨辉三角求解算法分析
2019/03/11 PHP
php集成开发环境详解
2019/09/24 PHP
Javascript入门学习资料收集整理篇
2008/07/06 Javascript
JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
2010/11/16 Javascript
js 获取input点选按钮的值的方法
2014/04/14 Javascript
基于javascript实现判断移动终端浏览器版本信息
2014/12/09 Javascript
详解JavaScript中的forEach()方法的使用
2015/06/08 Javascript
JavaScript数据库TaffyDB用法实例分析
2015/07/27 Javascript
jQuery实现的Tab滑动选项卡及图片切换(多种效果)小结
2015/09/14 Javascript
自己动手写的javascript前端等待控件
2015/10/30 Javascript
JavaScript中原型链存在的问题解析
2016/09/25 Javascript
jQuery 局部div刷新和全局刷新方法总结
2016/10/05 Javascript
HTML5基于Tomcat 7.0实现WebSocket连接并实现简单的实时聊天
2016/10/31 Javascript
angular分页指令操作
2017/01/09 Javascript
Vue.js 2.5新特性介绍(推荐)
2017/10/24 Javascript
微信小程序getLocation 需要在app.json中声明permission字段
2020/03/03 Javascript
如何基于layui的laytpl实现数据绑定的示例代码
2020/04/10 Javascript
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
对numpy中轴与维度的理解
2018/04/18 Python
Python设计模式之观察者模式原理与用法详解
2019/01/16 Python
Python中list的交、并、差集获取方法示例
2019/08/01 Python
python实现将视频按帧读取到自定义目录
2019/12/10 Python
tensorflow 报错unitialized value的解决方法
2020/02/06 Python
Python性能分析工具py-spy原理用法解析
2020/07/27 Python
俄罗斯第一家篮球店:StreetBall
2020/07/30 全球购物
校园自助餐厅的创业计划书
2013/12/26 职场文书
读书活动实施方案
2014/03/10 职场文书
2014年母亲节演讲稿范文
2014/05/07 职场文书
面试必备的求职信
2014/05/25 职场文书
党员贯彻十八大精神思想汇报范文
2014/10/25 职场文书
护理心得体会范文
2016/01/22 职场文书
Flask搭建一个API服务器的步骤
2021/05/28 Python
PostgreSQL解析URL的方法
2021/08/02 PostgreSQL
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
2022/05/25 SQL Server