python list等分并从等分的子集中随机选取一个数


Posted in Python onNovember 16, 2020

有些时候我们需要从视频序列中均匀的随机采样,我们可以每隔x步进行一次采样,这就要求对一个list每隔x步进行一次截取,再从截取到的不同的子集中随机选取一个数就是我们平均采样的帧的idx。

import random

def split(a, n):
  k, m = divmod(len(a), n)
  return [a[i * k + min(i, m):(i + 1) * k + min(i + 1, m)] for i in list(range(n))]

list_split = split(list(range(15)), 3)
print(list_split)
tmp = [random.choice(i) for i in list_split]
print(tmp)

结果:

list_split====>
[[0, 1, 2, 3, 4], [5, 6, 7, 8, 9], [10, 11, 12, 13, 14]]

tmp====>
[0, 6, 12]

 python list 平均 分割 等分

应用场景:根据线程数,分割任务列表;

####功能:将list对象N等分
def div_list(ls,n):
 if not isinstance(ls,list) or not isinstance(n,int):
 return []
 ls_len = len(ls)
 if n<=0 or 0==ls_len:
 return []
 if n > ls_len:
 return []
 elif n == ls_len:
 return [[i] for i in ls]
 else:
 j = ls_len/n
 k = ls_len%n
 ### j,j,j,...(前面有n-1个j),j+k
 #步长j,次数n-1
 ls_return = []
 for i in xrange(0,(n-1)*j,j):
  ls_return.append(ls[i:i+j])
 #算上末尾的j+k
 ls_return.append(ls[(n-1)*j:])
 return ls_return

if 0:
 print div_list(3,3)
 print div_list([3],'3')
 print div_list([3],-1)
 print div_list([],2)
 print div_list([3],2)
 print div_list([3,4,5,6],4)
 print div_list([3,4,5,6,7,8,9,10,11,12,13,14,15],3)

到此这篇关于python list等分并从等分的子集中随机选取一个数的文章就介绍到这了,更多相关python list等分内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python 动态获取当前运行的类名和函数名的方法
Apr 15 Python
python获取android设备的GPS信息脚本分享
Mar 06 Python
Python的Django REST框架中的序列化及请求和返回
Apr 11 Python
Python中单例模式总结
Feb 20 Python
TensorFLow用Saver保存和恢复变量
Mar 10 Python
解决Python网页爬虫之中文乱码问题
May 11 Python
Numpy 将二维图像矩阵转换为一维向量的方法
Jun 05 Python
Centos部署django服务nginx+uwsgi的方法
Jan 02 Python
python根据txt文本批量创建文件夹
Dec 08 Python
python实现的生成word文档功能示例
Aug 23 Python
从numpy数组中取出满足条件的元素示例
Nov 26 Python
flask开启多线程的具体方法
Aug 02 Python
Python大批量搜索引擎图像爬虫工具详解
Nov 16 #Python
详解Python中list[::-1]的几种用法
Nov 16 #Python
使用Pytorch搭建模型的步骤
Nov 16 #Python
Python图像读写方法对比
Nov 16 #Python
python3中编码获取网页的实例方法
Nov 16 #Python
Python3中小括号()、中括号[]、花括号{}的区别详解
Nov 15 #Python
Python根据URL地址下载文件并保存至对应目录的实现
Nov 15 #Python
You might like
php 邮件发送问题解决
2014/03/22 PHP
php正则表达式获取内容所有链接
2015/07/24 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
2018/03/31 PHP
JQuery 插件制作实践 xMarquee插件V1.0
2010/04/02 Javascript
javascript 事件绑定问题
2011/01/01 Javascript
原生js和jquery实现图片轮播淡入淡出效果
2015/04/23 Javascript
JavaScript中操作字符串小结
2015/05/04 Javascript
举例说明如何为JavaScript的方法参数设置默认值
2015/11/17 Javascript
JS实现动态表格的添加,修改,删除功能(推荐)
2016/06/15 Javascript
ionic3+Angular4实现接口请求及本地json文件读取示例
2017/10/11 Javascript
vue+Java后端进行调试时解决跨域问题的方式
2017/10/19 Javascript
JavaScript的Object.defineProperty详解
2018/07/09 Javascript
解决bootstrap-select 动态加载数据不显示的问题
2018/08/10 Javascript
AngularJS 事件发布机制
2018/08/28 Javascript
webpack 静态资源集中输出的方法示例
2018/11/09 Javascript
详解js创建对象的几种方法及继承
2019/04/12 Javascript
js实现无限层级树形数据结构(创新算法)
2020/02/27 Javascript
浅谈javascript事件环微任务和宏任务队列原理
2020/09/12 Javascript
基于elementUI竖向表格、和并列的案例
2020/10/26 Javascript
vue3.0中使用element的完整步骤
2021/03/04 Vue.js
Python中AND、OR的一个使用小技巧
2015/02/18 Python
Django1.7+python 2.78+pycharm配置mysql数据库
2016/10/09 Python
Windows平台Python连接sqlite3数据库的方法分析
2017/07/12 Python
Django框架实现的分页demo示例
2019/05/25 Python
解决python 文本过滤和清理问题
2019/08/28 Python
python中利用matplotlib读取灰度图的例子
2019/12/07 Python
通过Python扫描代码关键字并进行预警的实现方法
2020/05/24 Python
Python 实现简单的客户端认证
2020/07/29 Python
python操作redis数据库的三种方法
2020/09/10 Python
python中类与对象之间的关系详解
2020/12/16 Python
美国领先的家庭健康检测试剂盒提供商:LetsGetChecked
2019/03/18 全球购物
美发店5.1活动方案
2014/01/24 职场文书
质量月活动总结
2014/08/26 职场文书
资金申请报告范文
2015/05/14 职场文书
2015年秋季校长开学典礼致辞
2015/07/29 职场文书
一文搞懂redux在react中的初步用法
2021/06/09 Javascript