基于Python中random.sample()的替代方案

作者:sunnyyan 时间:2021-01-16 18:41:07 

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)

来源:https://blog.csdn.net/sunnyyan/article/details/83410233

标签:Python,random,sample
0
投稿

猜你喜欢

  • php中常量DIRECTORY_SEPARATOR用法深入分析

    2023-09-06 00:23:27
  • 并行查询让SQL Server加速运行

    2009-03-16 16:31:00
  • 精美漂亮的php分页类代码

    2023-11-22 08:28:09
  • python 共现矩阵的实现代码

    2021-12-22 14:42:33
  • 用python实现面向对像的ASP程序实例

    2023-05-19 04:20:55
  • Css 清除浮动

    2008-09-15 18:47:00
  • python中的format是什么意思,format怎么用

    2022-07-31 08:51:45
  • Python实现爬取知乎神回复简单爬虫代码分享

    2023-03-23 19:00:10
  • python numpy库中数组遍历的方法

    2021-03-20 16:57:28
  • Python 操作 PostgreSQL 数据库示例【连接、增删改查等】

    2021-12-14 00:54:08
  • oracle 分页 很棒的sql语句

    2009-07-02 11:44:00
  • 【MongoDB for Java】Java操作MongoDB数据库

    2023-07-14 01:10:43
  • Python语言描述机器学习之Logistic回归算法

    2023-08-31 01:14:35
  • Python实现JSON反序列化类对象的示例

    2023-09-03 19:29:51
  • python实现简单石头剪刀布游戏

    2023-03-08 03:23:44
  • uniapp页面跳转的五种方式总结

    2023-08-23 19:46:24
  • python实现生成Word、docx文件的方法分析

    2021-03-01 07:49:53
  • 基于Django框架的权限组件rbac实例讲解

    2022-09-27 17:11:51
  • python使用pygame实现笑脸乒乓球弹珠球游戏

    2021-07-26 09:49:47
  • 使用AJAX和Django获取数据的方法实例

    2021-11-14 20:40:20
  • asp之家 网络编程 m.aspxhome.com