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实现基本进制转换的方法
Jul 11 Python
利用Python批量生成任意尺寸的图片
Aug 29 Python
Django中Forms的使用代码解析
Feb 10 Python
Python实现的调用C语言函数功能简单实例
Mar 13 Python
pandas中遍历dataframe的每一个元素的实现
Oct 23 Python
Python多线程Threading、子线程与守护线程实例详解
Mar 24 Python
tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)
Jun 30 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
Sep 09 Python
使用Python将xmind脑图转成excel用例的实现代码(一)
Oct 12 Python
基于Python模拟浏览器发送http请求
Nov 06 Python
Python的Tqdm模块实现进度条配置
Feb 24 Python
Python与C++中梯度方向直方图的实现
Mar 17 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中最容易忘记的一些知识点总结
2013/04/28 PHP
PHP简单实现欧拉函数Euler功能示例
2017/11/06 PHP
javascript读取RSS数据
2007/01/20 Javascript
javascript window.opener的用法分析
2010/04/07 Javascript
js 如何实现对数据库的增删改查
2012/11/23 Javascript
jQuery创建平滑的页面滚动(顶部或底部)
2013/02/26 Javascript
jquery实现智能感知连接外网搜索
2013/05/21 Javascript
详解JavaScript函数绑定
2013/08/18 Javascript
javascript实现2048游戏示例
2014/05/04 Javascript
javascript中解析四则运算表达式的算法和示例
2014/08/11 Javascript
javascript匿名函数实例分析
2014/11/18 Javascript
jQuery实现高亮显示网页关键词的方法
2015/08/07 Javascript
JS截取字符串实例详解
2015/11/24 Javascript
原生JavaScript编写canvas版的连连看游戏
2016/05/29 Javascript
vuex实现简易计数器
2016/10/27 Javascript
jQuery基本选择器和层次选择器学习使用
2017/02/27 Javascript
微信小程序本地缓存数据增删改查实例详解
2017/05/24 Javascript
JQuery实现table中tr上移下移的示例(超简单)
2018/01/08 jQuery
详解angularjs 学习之 scope作用域
2018/01/15 Javascript
js实现飞机大战小游戏
2020/08/26 Javascript
微信小程序实现日历签到
2020/09/21 Javascript
Python爬取当当、京东、亚马逊图书信息代码实例
2017/12/09 Python
Python实现按逗号分隔列表的方法
2018/10/23 Python
python做反被爬保护的方法
2019/07/01 Python
PyTorch实现ResNet50、ResNet101和ResNet152示例
2020/01/14 Python
Python中pass的作用与使用教程
2020/11/13 Python
英国拳击装备购物网站:RDX Sports
2018/01/23 全球购物
梵蒂冈和罗马卡:Omnia Card Pass
2018/02/10 全球购物
应届生污水处理求职信
2013/11/06 职场文书
费用会计岗位职责
2014/01/01 职场文书
最美乡村医生事迹材料
2014/06/02 职场文书
送温暖献爱心活动总结
2014/07/08 职场文书
工艺技术员岗位职责
2015/02/04 职场文书
2015年乡镇信访工作总结
2015/04/07 职场文书
写作指导:怎么书写竞聘演讲稿?
2019/07/04 职场文书
详解python中[-1]、[:-1]、[::-1]、[n::-1]使用方法
2021/04/25 Python