基于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基础之条件与循环控制实例解析
Aug 13 Python
用Python进行简单图像识别(验证码)
Jan 19 Python
python如何拆分含有多种分隔符的字符串
Mar 20 Python
python组合无重复三位数的实例
Nov 13 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
Dec 15 Python
python实现图片压缩代码实例
Aug 12 Python
python垃圾回收机制(GC)原理解析
Dec 30 Python
Python for循环通过序列索引迭代过程解析
Feb 07 Python
python为QT程序添加图标的方法详解
Mar 09 Python
python轮询机制控制led实例
May 03 Python
Scrapy框架介绍之Puppeteer渲染的使用
Jun 19 Python
pycharm 快速解决python代码冲突的问题
Jan 15 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
使用 MySQL Date/Time 类型
2008/03/26 PHP
深入PHP运行环境配置的详解
2013/06/04 PHP
深入php 正则表达式的学习探讨
2013/06/06 PHP
如何使用php输出时间格式
2013/08/31 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
2016/10/28 PHP
PHP获取数据库表中的数据插入新的表再原删除数据方法
2018/10/12 PHP
Convert Seconds To Hours
2007/06/16 Javascript
JavaScript中的this实例分析
2011/04/28 Javascript
jquery设置控件位置的方法
2013/08/21 Javascript
showModalDialog在谷歌浏览器下会返回Null的解决方法
2013/11/27 Javascript
jQuery中die()方法用法实例
2015/01/19 Javascript
深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解
2016/04/03 Javascript
通过JS获取Request.QueryString()参数的值实现方法
2016/09/27 Javascript
JS FormData上传文件的设置方法
2017/07/05 Javascript
微信小程序实现给嵌套template模板传递数据的方式总结
2017/12/18 Javascript
Vue 框架之动态绑定 css 样式实例分析
2018/11/14 Javascript
vue基础之data存储数据及v-for循环用法示例
2019/03/08 Javascript
仿iPhone通讯录制作小程序自定义选择组件的实现
2019/05/23 Javascript
vue中组件通信的八种方式(值得收藏!)
2019/08/09 Javascript
Vue使用Ref跨层级获取组件的步骤
2021/01/25 Vue.js
python基础教程之对象和类的实际运用
2014/08/29 Python
Python实现的一个简单LRU cache
2014/09/26 Python
Python基于scrapy采集数据时使用代理服务器的方法
2015/04/16 Python
Python实现一个数组除以一个数的例子
2019/07/20 Python
python 实现多维数组(array)排序
2020/02/28 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
2020/06/01 Python
澳大利亚最大的网上油画销售画廊:Direct Art Australia
2018/04/15 全球购物
SQL面试题
2013/12/09 面试题
销售高级职员求职信
2013/10/29 职场文书
学生会竞选演讲稿
2014/04/24 职场文书
护理目标管理责任书
2014/07/25 职场文书
监护人证明
2015/06/19 职场文书
2016年感恩母亲节活动总结
2016/04/01 职场文书
商业计划书之服装
2019/09/09 职场文书
React Native项目框架搭建的一些心得体会
2021/05/28 Javascript
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android