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如何处理nc数据详解
May 23 Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
Jan 30 Python
windows下安装Python虚拟环境virtualenvwrapper-win
Jun 14 Python
Pycharm创建项目时如何自动添加头部信息
Nov 14 Python
Python模块的定义,模块的导入,__name__用法实例分析
Jan 07 Python
详解pycharm连接不上mysql数据库的解决办法
Jan 10 Python
Selenium常见异常解析及解决方案示范
Apr 10 Python
Python使用Numpy模块读取文件并绘制图片
May 13 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
Sep 18 Python
Python爬虫入门教程01之爬取豆瓣Top电影
Jan 24 Python
python可视化分析的实现(matplotlib、seaborn、ggplot2)
Feb 03 Python
Pytorch实现WGAN用于动漫头像生成
Mar 04 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传输数据的代码
2007/11/13 PHP
PHP goto语句简介和使用实例
2014/03/11 PHP
WordPress中获取页面链接和标题的相关PHP函数用法解析
2015/12/17 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
PHP里的$_GET数组介绍
2019/03/22 PHP
基于MooTools的很有创意的滚动条时钟动画
2010/11/14 Javascript
JavaScript创建类/对象的几种方式概述及实例
2013/05/06 Javascript
JQuery实现表格中相同单元格合并示例代码
2013/06/26 Javascript
javascript上传图片前预览图片兼容大多数浏览器
2013/10/25 Javascript
jquery中animate的stop()方法作用实例分析
2015/01/30 Javascript
js实现二级菜单渐隐显示
2015/11/03 Javascript
javascript实现全角转半角的方法
2016/01/23 Javascript
js HTML5 Ajax实现文件上传进度条功能
2016/02/13 Javascript
jQuery Easyui使用(二)之可折叠面板动态加载无效果的解决方法
2016/08/17 Javascript
全面总结Javascript对数组对象的各种操作
2017/01/22 Javascript
微信小程序实现多个按钮toggle功能的实例
2017/06/13 Javascript
JavaScript的Proxy可以做哪些有意思的事儿
2019/06/15 Javascript
JS开发 富文本编辑器TinyMCE详解
2019/07/19 Javascript
Python处理JSON时的值报错及编码报错的两则解决实录
2016/06/26 Python
Python操作RabbitMQ服务器实现消息队列的路由功能
2016/06/29 Python
安装Python和pygame及相应的环境变量配置(图文教程)
2017/06/04 Python
python 数据的清理行为实例详解
2017/07/12 Python
Python如何实现MySQL实例初始化详解
2017/11/06 Python
Python企业编码生成系统总体系统设计概述
2019/07/26 Python
HTML5实现分享到微信好友朋友圈QQ好友QQ空间微博二维码功能
2018/01/03 HTML / CSS
去加拿大的旅行和假期:Canadian Affair
2016/10/25 全球购物
优秀民警事迹材料
2014/01/29 职场文书
财务部经理岗位职责
2014/02/03 职场文书
经典演讲稿汇总
2014/05/19 职场文书
银行授权委托书范本
2014/10/04 职场文书
五四青年节活动总结
2015/02/10 职场文书
2016大学自主招生推荐信范文
2015/03/23 职场文书
决心书格式及范文
2019/06/24 职场文书
SQL Server查询某个字段在哪些表中存在
2022/03/03 SQL Server
什么是SOLID
2022/03/24 Javascript
电脑只能进入安全模式无法正常启动的解决办法
2022/04/08 数码科技