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 相关文章推荐
tornado框架blog模块分析与使用
Nov 21 Python
忘记ftp密码使用python ftplib库暴力破解密码的方法示例
Jan 22 Python
python类中super()和__init__()的区别
Oct 18 Python
pandas 按照特定顺序输出的实现代码
Jul 10 Python
Python中xml和json格式相互转换操作示例
Dec 05 Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
Feb 07 Python
12个Python程序员面试必备问题与答案(小结)
Jun 24 Python
pandas进行时间数据的转换和计算时间差并提取年月日
Jul 06 Python
django 控制页面跳转的例子
Aug 06 Python
Python彻底删除文件夹及其子文件方式
Dec 23 Python
Python如何重新加载模块
Jul 29 Python
用Python创建简易网站图文教程
Jun 11 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
SONY ICF-SW7600的电路分析
2021/03/02 无线电
PHP、Java des加密解密实例
2015/04/27 PHP
jQuery autocomplete插件修改
2009/04/17 Javascript
查询绑定数据岛的表格中的文本并修改显示方式的js代码
2009/12/15 Javascript
mysql输出数据赋给js变量报unterminated string literal错误原因
2010/05/22 Javascript
js实现select跳转功能代码
2014/10/22 Javascript
javascript 数组的定义和数组的长度
2016/06/07 Javascript
Node.js如何自动审核团队的代码
2016/07/20 Javascript
javascript实现页面滚屏效果
2017/01/17 Javascript
VUE多层路由嵌套实现代码
2017/05/15 Javascript
基于vue2.0实现的级联选择器
2017/06/09 Javascript
对于js垃圾回收机制的理解
2017/09/14 Javascript
Angular中的$watch方法详解
2017/09/18 Javascript
JavaScript实现简单贪吃蛇效果
2020/03/09 Javascript
如何通过Proxy实现JSBridge模块化封装
2020/10/22 Javascript
[03:14]2014DOTA2西雅图国际邀请赛 EG战队巡礼
2014/07/07 DOTA
Python从MP3文件获取id3的方法
2015/06/15 Python
Python通过正则表达式选取callback的方法
2015/07/18 Python
Python基于pygame实现的font游戏字体(附源码)
2015/11/11 Python
用Python获取摄像头并实时控制人脸的实现示例
2019/07/11 Python
python爬虫实现POST request payload形式的请求
2020/04/30 Python
新加坡网上化妆品店:Best Buy World
2018/05/18 全球购物
美国购买当代和现代家具网站:MODTEMPO
2018/07/20 全球购物
车间主管岗位职责
2013/11/14 职场文书
工地门卫岗位职责
2013/12/30 职场文书
学徒工职责
2014/03/06 职场文书
项目经理任命书范本
2014/06/05 职场文书
企业安全生产标语
2014/06/06 职场文书
《周恩来的四个昼夜》观后思想汇报范文两篇
2014/09/10 职场文书
背起爸爸上学观后感
2015/06/08 职场文书
虎兄虎弟观后感
2015/06/12 职场文书
商业计划书范文
2019/04/24 职场文书
分享:关于学习的励志名言赏析
2019/08/16 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书
Java实现二维数组和稀疏数组之间的转换
2021/06/27 Java/Android
mongodb清除连接和日志的正确方法分享
2021/09/15 MongoDB