基于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 相关文章推荐
Python3.x和Python2.x的区别介绍
Feb 12 Python
python实现问号表达式(?)的方法
Nov 27 Python
python简单实例训练(21~30)
Nov 15 Python
Python通过OpenCV的findContours获取轮廓并切割实例
Jan 05 Python
python爬虫的数据库连接问题【推荐】
Jun 25 Python
python实现自动登录
Sep 17 Python
python 使用正则表达式按照多个空格分割字符的实例
Dec 20 Python
详解python中的hashlib模块的使用
Apr 22 Python
python3中property使用方法详解
Apr 23 Python
Python调用shell命令常用方法(4种)
May 11 Python
Python列表如何更新值
May 27 Python
python调用私有属性的方法总结
Jul 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
php下实现农历日历的代码
2007/03/07 PHP
解析php中反射的应用
2013/06/18 PHP
php5.3 注意事项说明
2013/07/01 PHP
获取URL文件名后缀
2013/10/24 PHP
yii2 开发api接口时优雅的处理全局异常的方法
2019/05/14 PHP
jquery $.ajax各个事件执行顺序
2010/10/15 Javascript
javascript实现页面内关键词高亮显示代码
2014/04/03 Javascript
JS+CSS实现淡入式焦点图片幻灯切换效果的方法
2015/02/26 Javascript
js实现input框文字动态变换显示效果
2015/08/19 Javascript
解决JS请求服务器gbk文件乱码的问题
2015/10/16 Javascript
jQuery数据类型小结(14个)
2016/01/08 Javascript
AngularJS入门教程之AngularJS表达式
2016/04/18 Javascript
浅谈AngularJS中ng-class的使用方法
2016/11/11 Javascript
Angularjs添加排序查询功能的实例代码
2017/10/24 Javascript
深入理解 webpack 文件打包机制(小结)
2018/01/08 Javascript
解决vue中修改export default中脚本报一大堆错的问题
2018/08/27 Javascript
vue观察模式浅析
2018/09/25 Javascript
在React项目中使用Eslint代码检查工具及常见问题
2018/10/10 Javascript
详解vue移动端项目代码拆分记录
2019/03/15 Javascript
如何检查一个对象是否为空
2019/04/11 Javascript
Echarts实现单条折线可拖拽效果
2019/12/19 Javascript
[01:37]DOTA2超级联赛专访ChuaN 传奇般的电竞之路
2013/06/19 DOTA
Python 面向对象 成员的访问约束
2008/12/23 Python
Python中pygame安装方法图文详解
2015/11/11 Python
python验证码识别的实例详解
2016/09/09 Python
python 读写txt文件 json文件的实现方法
2016/10/22 Python
python使用 HTMLTestRunner.py生成测试报告
2017/10/20 Python
python linecache 处理固定格式文本数据的方法
2019/01/08 Python
PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解
2020/03/24 Python
你对IPv6了解程度
2016/02/09 面试题
八年级英语教学反思
2014/01/09 职场文书
校园安全检查制度
2014/02/03 职场文书
红旗渠导游词
2015/02/09 职场文书
质检员工作总结2015
2015/04/25 职场文书
小学远程教育工作总结
2015/08/13 职场文书
CocosCreator ScrollView优化系列之分帧加载
2021/04/14 Python