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正则表达式 re模块使用说明
May 19 Python
Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
Nov 16 Python
Python中强大的命令行库click入门教程
Dec 26 Python
Mac 上切换Python多版本
Jun 17 Python
Python操作Excel插入删除行的方法
Dec 10 Python
Python OOP类中的几种函数或方法总结
Feb 22 Python
Python3 合并二叉树的实现
Sep 30 Python
python——全排列数的生成方式
Feb 26 Python
python实现在线翻译功能
Mar 03 Python
Python urllib request模块发送请求实现过程解析
Dec 10 Python
Flask中jinja2的继承实现方法及实例
Mar 03 Python
django注册用邮箱发送验证码的实现
Apr 18 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
《猛禽小队》:DC宇宙的又一超级大烂片
2020/04/09 欧美动漫
新版mysql+apache+php Linux安装指南
2006/10/09 PHP
php 生成唯一id的几种解决方法
2013/03/08 PHP
深入file_get_contents函数抓取内容失败的原因分析
2013/06/25 PHP
php5.3不能连接mssql数据库的解决方法
2014/12/27 PHP
php实现的日历程序
2015/06/18 PHP
js资料prototype 属性
2007/03/13 Javascript
js中的window.open返回object的错误的解决方法
2009/08/15 Javascript
有关DOM元素与事件的3个谜题
2010/11/11 Javascript
JS实现IE状态栏文字缩放效果代码
2015/10/24 Javascript
基于js实现的限制文本框只可以输入数字
2016/12/05 Javascript
浅谈Javascript事件对象
2017/02/05 Javascript
webpack使用 babel-loader 转换 ES6代码示例
2017/08/21 Javascript
JavaScript原型链与继承操作实例总结
2018/08/24 Javascript
JavaScript 扩展运算符用法实例小结【基于ES6】
2019/06/17 Javascript
vue keep-alive实现多组件嵌套中个别组件存活不销毁的操作
2020/10/30 Javascript
[01:19:11]Ti4 循环赛第二日 NaVi.us vs iG
2014/07/11 DOTA
Python实现监控程序执行时间并将其写入日志的方法
2015/06/30 Python
详解Python list 与 NumPy.ndarry 切片之间的对比
2017/07/24 Python
Django后台获取前端post上传的文件方法
2018/05/28 Python
[原创]Python入门教程3. 列表基本操作【定义、运算、常用函数】
2018/10/30 Python
python使用opencv实现马赛克效果示例
2019/09/28 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
Python中pyecharts安装及安装失败的解决方法
2020/02/18 Python
Python实现企业微信机器人每天定时发消息实例
2020/02/25 Python
Python验证码截取识别代码实例
2020/05/16 Python
利用Python优雅的登录校园网
2020/10/21 Python
Original Penguin英国官方网站:美国著名休闲时装品牌
2016/10/30 全球购物
求职自荐信范文格式
2013/11/29 职场文书
文明餐桌行动实施方案
2014/02/19 职场文书
普通党员对照检查材料
2014/09/24 职场文书
2015年妇幼保健工作总结
2015/05/19 职场文书
小学三年级语文教学反思
2016/03/03 职场文书
心得体会该怎么写呢?
2019/06/27 职场文书
Java常用函数式接口总结
2021/06/29 Java/Android
动画「进击的巨人」第86话播出感谢绘公开
2022/03/21 日漫