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实现的简单文件传输服务器和客户端
Apr 08 Python
python抓取最新博客内容并生成Rss
May 17 Python
JS设计模式之责任链模式实例详解
Feb 03 Python
Python 2.7中文显示与处理方法
Jul 16 Python
PyCharm鼠标右键不显示Run unittest的解决方法
Nov 30 Python
对pandas读取中文unicode的csv和添加行标题的方法详解
Dec 12 Python
Python 获取div标签中的文字实例
Dec 20 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
Dec 28 Python
Python多进程fork()函数详解
Feb 22 Python
详解用python写一个抽奖程序
May 10 Python
利用python实现.dcm格式图像转为.jpg格式
Jan 13 Python
解决Django响应JsonResponse返回json格式数据报错问题
Aug 09 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上显示JFreechart画的统计图方法
2013/11/03 PHP
php删除指定目录的方法
2015/04/03 PHP
PHP 数组基本操作小结(推荐)
2016/06/13 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
2019/09/27 PHP
jquery autocomplete自动完成插件的的使用方法
2010/08/07 Javascript
用js解决数字不能换行问题
2010/08/10 Javascript
js弹出的对话窗口永远保持居中显示
2012/12/15 Javascript
javascript数字时钟示例分享
2014/04/23 Javascript
JavaScript控制两个列表框listbox左右交换数据的方法
2015/03/18 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
2016/06/09 Javascript
jQuery实现6位数字密码输入框
2016/12/29 Javascript
bootstrapValidator bootstrap-select验证不可用的解决办法
2017/01/11 Javascript
js利用for in循环获取 一个对象的所有属性以及值的实例
2017/03/30 Javascript
详解HTTPS 的原理和 NodeJS 的实现
2017/07/04 NodeJs
微信小程序使用wxParse解析html的实现示例
2018/08/30 Javascript
vue+iview/elementUi实现城市多选
2019/03/28 Javascript
vue2 v-model/v-text 中使用过滤器的方法示例
2019/05/09 Javascript
React 条件渲染最佳实践小结(7种)
2020/09/27 Javascript
springboot+vue+对接支付宝接口+二维码扫描支付功能(沙箱环境)
2020/10/15 Javascript
python网络编程之UDP通信实例(含服务器端、客户端、UDP广播例子)
2014/04/25 Python
使用Python监控文件内容变化代码实例
2018/06/04 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
2019/11/07 Python
jupyter实现重新加载模块
2020/04/16 Python
PythonPC客户端自动化实现原理(pywinauto)
2020/05/28 Python
套娃式文件夹如何通过Python批量处理
2020/08/23 Python
CSS3教程(1):什么是CSS3
2009/04/02 HTML / CSS
奥地利领先的在线药房:SHOP APOTHEKE
2019/10/07 全球购物
毕业生幼师求职自荐信
2013/10/01 职场文书
幼教毕业生自我鉴定
2014/01/12 职场文书
信访工作者先进事迹
2014/01/17 职场文书
令人印象深刻的自荐信
2014/05/25 职场文书
投资入股合作协议书
2014/10/28 职场文书
2014年业务员工作总结范文
2014/11/17 职场文书
通知函格式范文
2015/04/27 职场文书
一小时学会TensorFlow2之基本操作2实例代码
2021/09/04 Python
进阶篇之linux环境下安装MySQL数据库
2022/04/09 MySQL