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 相关文章推荐
pymssql数据库操作MSSQL2005实例分析
May 25 Python
Python实现统计给定字符串中重复模式最高子串功能示例
May 16 Python
利用Python实现在同一网络中的本地文件共享方法
Jun 04 Python
解决pandas使用read_csv()读取文件遇到的问题
Jun 15 Python
使用Numpy读取CSV文件,并进行行列删除的操作方法
Jul 04 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
Jan 05 Python
Python之循环结构
Jan 15 Python
Python递归函数 二分查找算法实现解析
Aug 12 Python
Python hashlib常见摘要算法详解
Jan 13 Python
django queryset 去重 .distinct()说明
May 19 Python
python 实现&quot;神经衰弱&quot;翻牌游戏
Nov 09 Python
selenium.webdriver中add_argument方法常用参数表
Apr 08 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 过滤页面中的BOM(实现代码)
2013/06/29 PHP
Zend Framework基本页面布局分析
2016/03/19 PHP
浅谈PHP中pack、unpack的详细用法
2018/03/12 PHP
Yii2框架redis基本应用示例
2018/07/13 PHP
img的onload的另类用法
2008/01/10 Javascript
jquery json 实例代码
2010/12/02 Javascript
JavaScript 代码压缩工具小结
2012/02/27 Javascript
多个表单中如何获得这个文件上传的网址实现js代码
2013/03/25 Javascript
巧用js提交表单轻松解决一个页面有多个提交按钮
2013/11/17 Javascript
Express.JS使用详解
2014/07/17 Javascript
JS实现密码框根据焦点的获取与失去控制文字的消失与显示效果
2015/11/26 Javascript
JavaScript中利用jQuery绑定事件的几种方式小结
2016/03/06 Javascript
js 获取站点应用名的简单实例
2016/08/18 Javascript
JavaScript中闭包的详解
2017/04/01 Javascript
vue动态路由:路由参数改变,视图不更新问题的解决
2019/11/05 Javascript
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
Python列表(list)、字典(dict)、字符串(string)基本操作小结
2014/11/28 Python
Python3读取文件常用方法实例分析
2015/05/22 Python
Python使用修饰器执行函数的参数检查功能示例
2017/09/26 Python
Python使用matplotlib填充图形指定区域代码示例
2018/01/16 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
python实现聚类算法原理
2018/02/12 Python
对pyqt5中QTabWidget的相关操作详解
2019/06/21 Python
python pandas生成时间列表
2019/06/29 Python
讲解Python3中NumPy数组寻找特定元素下标的两种方法
2019/08/04 Python
在python中计算ssim的方法(与Matlab结果一致)
2019/12/19 Python
基于python 凸包问题的解决
2020/04/16 Python
200行python代码实现贪吃蛇游戏
2020/04/24 Python
Python3爬虫中pyspider的安装步骤
2020/07/29 Python
纯CSS3实现图片无间断轮播效果
2016/08/25 HTML / CSS
决定成败的关键——创业计划书
2014/01/24 职场文书
简历中的自我评价怎么写
2014/01/29 职场文书
个人对照检查材料
2014/02/12 职场文书
工程力学专业自荐信范文
2014/03/17 职场文书
药店促销活动总结
2014/07/10 职场文书
努力工作保证书
2015/02/28 职场文书