基于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登录pop3邮件服务器接收邮件的方法
Apr 30 Python
在Python的Django框架中加载模版的方法
Jul 16 Python
Python使用win32com实现的模拟浏览器功能示例
Jul 13 Python
Python迭代器定义与简单用法分析
Apr 30 Python
Python常用字符串替换函数strip、replace及sub用法示例
May 21 Python
Django中在xadmin中集成DjangoUeditor过程详解
Jul 24 Python
python如何求数组连续最大和的示例代码
Feb 04 Python
python实现查找所有程序的安装信息
Feb 18 Python
快速解决Django关闭Debug模式无法加载media图片与static静态文件
Apr 07 Python
anaconda3安装及jupyter环境配置全教程
Aug 24 Python
pycharm中选中一个单词替换所有重复单词的实现方法
Nov 17 Python
Python+uiautomator2实现自动刷抖音视频功能
Apr 29 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
2020年4月新番动漫目录 官方宣布4月播出的作品一览
2020/03/08 日漫
PHP调用VC编写的COM组件实例
2014/03/29 PHP
ThinkPHP中ajax使用实例教程
2014/08/22 PHP
PHP字符串比较函数strcmp()和strcasecmp()使用总结
2014/11/19 PHP
php使用自定义函数实现汉字分割替换功能示例
2017/01/30 PHP
使用一个for循环将N*N的二维数组的所有值置1实现方法
2017/05/29 PHP
js监听输入框值的即时变化onpropertychange、oninput
2011/07/13 Javascript
js中的前绑定和后绑定详解
2013/08/01 Javascript
JavaScript中的style.cssText使用教程
2014/11/06 Javascript
JavaScript检测浏览器cookie是否已经启动的方法
2015/02/27 Javascript
js实现不重复导入的方法
2016/03/02 Javascript
原生js实现百叶窗效果及原理介绍
2016/04/12 Javascript
AngularJS路由实现页面跳转实例
2017/03/03 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
Vue中计算属性computed的示例解读
2017/07/26 Javascript
vue2导航根据路由传值,而改变导航内容的实例
2017/11/10 Javascript
Webpack实战加载SVG的方法
2017/12/26 Javascript
jQuery实现的滑块滑动导航效果示例
2018/06/04 jQuery
JavaScript使用indexOf()实现数组去重的方法分析
2018/09/04 Javascript
JS立即执行函数功能与用法分析
2019/01/15 Javascript
ajax跨域访问遇到的问题及解决方案
2019/05/23 Javascript
element ui分页多选,翻页记忆的实例
2019/09/03 Javascript
Python中用startswith()函数判断字符串开头的教程
2015/04/07 Python
Python实现Linux命令xxd -i功能
2016/03/06 Python
Python List列表对象内置方法实例详解
2019/10/22 Python
Python Opencv中用compareHist函数进行直方图比较对比图片
2020/04/07 Python
在python里创建一个任务(Task)实例
2020/04/25 Python
分享8款纯CSS3实现的搜索框功能
2017/09/14 HTML / CSS
Html5实现用户注册自动校验功能实例代码
2016/05/24 HTML / CSS
Tuckernuck官网:经典的美国品质服装、鞋子和配饰
2021/01/11 全球购物
如何高效率的查找一个月以内的数据
2012/04/15 面试题
计算机专业推荐信范文
2013/11/27 职场文书
教育系统干部作风整顿心得体会
2014/09/09 职场文书
介绍长城的导游词
2015/01/30 职场文书
一篇文章带你搞懂Python类的相关知识
2021/05/20 Python
德生BCL3000抢先使用感受和评价
2022/04/07 无线电