首页 > 编程语言 >Python实现从一个列表数据里随机抽取数据,并且按原有顺序排序

Python实现从一个列表数据里随机抽取数据,并且按原有顺序排序

时间:2022-12-14 18:44:48浏览次数:50  
标签:抽取 Python random list 列表 sample 随机 数据

背景:工作中需要实现从多个条件中随机抽取几个条件,进行组合查询的功能。而查询的结果需要按原顺序进行判断是否符合查询条件。

分析:这些条件可以放在列表里,这就需要实现一个功能:从一个列表数据里随机抽取数据,并且按原有顺序排序

           python的随机函数ranom有一个random.sample(),其功能是:

           random.sample的函数原型为:random.sample(sequence, k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。 如果k大于sequence元素个数的话会报错。

           而这个函数返回的是随机的序列,与原有序列顺序不一定一致。那么就需要写一个方法,来实现。

过程:假设有一个列表list_array=['a','b','c','d','e','f','g','h'],需要随机抽取5个值,成为一个新的队列,那么我们可以写一个函数如下:

def random_list(list,num):

    list_temp=[i for i in range(len(list))]         #生成一个和list同样长度临时列表,值分别为list的序号。

    list_new=random.sample(list_temp,num)     #从临时列表中随机抽几个值。

    list_new.sort()         #排序,按序号从小到大

    list_object=[list[i] for i in list_new]         #生成目标序列,里面的值为传入list,对应序号的值

    return list_object

         这个函数结果如何我们可以验证下。

list_result = random_list(list_array,5)

print(list_result )

运行结果显示为:['a', 'b', 'e', 'f', 'h'], 符合原来顺序,完美。

标签:抽取,Python,random,list,列表,sample,随机,数据
From: https://www.cnblogs.com/jintianniu/p/16982945.html

相关文章

  • Python13 模块
    模块创建模块直接新建一个.py文件即可,这个py文件是可执行的哦~也是可以被导入的,这个py文件就是模块。导入模块import模块名[as别名]from模块名import函数/变......
  • Python第十一周
    一、实验目的和要求1、学会数据库编程接口;2、学会使用SQLite;3、学会使用MySQL。二、实验环境Python3.1064_bit三、实验过程实例一代码如下:1importsqlite3......
  • 怎样来实现数据接口的加密?
    前言特别是在做一下政府项目时,有时候需要对所有接口数据进行加密。加密传输结构体定义请求头localhost:8080/user/infoheader:Content-Type:application/jsonsignature:55ef......
  • spring boot 实现Mysql数据脚本导出和数据库脚本的导入
    前言在开发过程中这样一个需求,有些数据需要从数据库导出,然后导入到另外的数据库中。数据导出@SneakyThrowspublicStringexport(){//获取数据库连接对象......
  • python实验报告(第8章)
    实例01:创建计算BMi指数的模块 创建一个用于根据身高、体重计算BMI指数的模块,命名为bmi.py,其中bmi为模块名,.py为扩展名。 代码如下:1deffun_bmi(pers......
  • Python实验报告(第9章)
    实例一:实验相关代码:defdivision():'''功能:分苹果'''print("\n==================分苹果了=================\n")apple=int(input("请输入苹......
  • Python调试工具
     Cyberbrain:Pythondebugging, redefined.https://github.com/laike9m/Cyberbrainhttps://github.com/cool-RR/PySnooper https://pythontutor.com/Pythontutor......
  • JS使用递归将原始数据转换为树形结构数据
    因为数据库中存放的数据终究全是扁平化的,因此获取后要手动将其改成树形结构,方便el-tree进行渲染。假设数据如下(至少是要有节点ID和父节点ID)   最终要达到如下效果(e......
  • python3 安装 impyla
    pip3installsixbit_arraybitarraypip3installthriftpy==0.3.8pure-saslpip3installthrift-sasl==0.2.1--no-depspip3installimpyla==0.14.1如果出现异常pip3in......
  • Python3.9+Sqlite3
    python&sqlite简介Sqlite3作为Python内置的数据库,不需要再单独下载sqlite,直接import即可。使用python操作sqlite创建并连接数据库也可以把数据库名称指定为:memory:,这样......