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装饰器decorator用法实例
Nov 10 Python
python根据出生日期返回年龄的方法
Mar 26 Python
连接Python程序与MySQL的教程
Apr 29 Python
在Django中创建URLconf相关的通用视图的方法
Jul 20 Python
Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程
Jun 14 Python
基于循环神经网络(RNN)实现影评情感分类
Mar 26 Python
Python读取指定日期邮件的实例
Feb 01 Python
详解Python中的正斜杠与反斜杠
Aug 09 Python
pytorch索引查找 index_select的例子
Aug 18 Python
Python2比较当前图片跟图库哪个图片相似的方法示例
Sep 28 Python
python3 assert 断言的使用详解 (区别于python2)
Nov 27 Python
python实现经典排序算法的示例代码
Feb 07 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
再谈ie和firefox下的document.all属性
2009/10/21 Javascript
Jquery插件分享之气泡形提示控件grumble.js
2014/05/20 Javascript
iframe如何动态创建及释放其所占内存
2014/09/03 Javascript
jQuery中:last选择器用法实例
2014/12/30 Javascript
boostrapTable的refresh和refreshOptions区别浅析
2017/01/22 Javascript
jQuery操作之效果详解
2017/05/19 jQuery
详解微信小程序 template添加绑定事件
2017/06/23 Javascript
jquery.uploadView 实现图片预览上传功能
2017/08/10 jQuery
微信小程序 input表单与redio及下拉列表的使用实例
2017/09/20 Javascript
基于wordpress的ajax写法详解
2018/01/02 Javascript
如何在vue中使用ts的示例代码
2018/02/28 Javascript
vue form 表单提交后刷新页面的方法
2018/09/04 Javascript
使用微信小程序开发弹出框应用实例详解
2018/10/18 Javascript
微信小程序实现文字无限轮播效果
2018/12/28 Javascript
对layer弹出框中icon数字参数的说明介绍
2019/09/04 Javascript
angular8和ngrx8结合使用的步骤介绍
2019/12/01 Javascript
JS数组方法push()、pop()用法实例分析
2020/01/18 Javascript
Python字符串切片操作知识详解
2016/03/28 Python
浅谈scrapy 的基本命令介绍
2017/06/13 Python
Python读取MRI并显示为灰度图像实例代码
2018/01/03 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
2018/10/17 Python
python判断计算机是否有网络连接的实例
2018/12/15 Python
Python 多维List创建的问题小结
2019/01/18 Python
python基于plotly实现画饼状图代码实例
2019/12/16 Python
TensorFlow实现自定义Op方式
2020/02/04 Python
Anaconda和ipython环境适配的实现
2020/04/22 Python
Python tkinter之ComboBox(下拉框)的使用简介
2021/02/05 Python
CSS3实现王者匹配时的粒子动画效果
2019/04/12 HTML / CSS
HTML5离线缓存在tomcat下部署可实现图片flash等离线浏览
2012/12/13 HTML / CSS
法国在线宠物店:zooplus.fr
2018/02/23 全球购物
伦敦最受欢迎的蛋糕店:Konditor & Cook
2019/11/01 全球购物
大学生就业意向书范文
2014/04/01 职场文书
2014年干部作风建设总结
2014/10/23 职场文书
2015年乡镇卫生院工作总结
2015/04/22 职场文书
创业者如何撰写出一份打动投资人的商业计划书?
2019/07/02 职场文书
MySQL分区路径子分区再分区
2022/04/13 MySQL