最近开发遇到一个功能需求,目的是要获取一个AI分析结果中最长连续帧,比如一个视频中连续3帧有人,那么我认为这个视频就是有人,我就要判断这个视频帧列表中是否有连续的三帧有人。本质就是获取列表中的最长连续数字,比如有一个列表 a = [1,2,3,4,1,2,3],要获取这个列表中最长连续数字,应该是[1,2,3,4]。

拓展,比如我想获取每隔n的最长连续数字怎么办?例如:b = [1,3,5,7,9,1,4,7,10],我想获取每隔2的最长连续数字,应该是[1,3,5,7,9],我想获取每隔3的最长连续数字,应该是[1,4,7,10]

下面是具体的代码实现

#!/usr/bin/env python
# -*- coding:utf-8 -*-
def get_skip_frame(skip, frame_list):tmp_list = []return_list = []for i in range(len(frame_list)):if len(tmp_list) == 0:tmp_list.append(frame_list[i])else:change = abs(frame_list[i] - tmp_list[-1])if change == skip:tmp_list.append(frame_list[i])else:if len(return_list) < len(tmp_list):return_list = tmp_listtmp_list = []tmp_list.append(frame_list[i])if len(return_list) < len(tmp_list):return_list = tmp_listreturn return_list
response1 = get_skip_frame(1, [1,2,3,1,2,3,4,1,3,5,7,9,1,4,7,10])response2 = get_skip_frame(2, [1,2,3,1,2,3,4,1,3,5,7,9,1,4,7,10])response3 = get_skip_frame(3, [1,2,3,1,2,3,4,1,3,5,7,9,1,4,7,10])print response1print response2print response3

[1, 2, 3, 4]
[1, 3, 5, 7, 9]
[1, 4, 7, 10]

 

可以看出结果是我们想要的顺序。

转载于:https://www.cnblogs.com/zhenglisai/p/10307190.html

【python】获取列表中最长连续数字相关推荐

  1. python 将列表中的字符串转为数字_python 将列表中的字符串转为数字

    本文实例讲述了python中列表元素转为数字的方法.分享给大家供大家参考,具体如下: 有一个数字字符的列表: numbers = ['1', '5', '10', '8'] 想要把每个元素转换为数字: ...

  2. python获取列表中最大N个数及其索引

    python获取列表中最大N个数及其索引 写作目的 步骤 结果展示 写作目的 主要是看到别人的基本都是利用hepap排序,感觉还挺麻烦的 步骤 import pandas a=[5,2,6,7,9] ...

  3. python 获取列表中多个元素-切片操作

    # -*-coding:utf-8 -*- # @Time : 20:48 # @Author: 黄荣津 # @File : 4.获取列表中多个元素-切片操作.py # @Software: PyCh ...

  4. python获取列表中元素的索引

    python中,列表一般是没有索引,不能像pandas里面的序列和dataframe一样,方便的使用索引.但是如果想知道某一个元素在列表中的位置,就需要使用index比如 想要知道一个列表中,哪一个元 ...

  5. python获取列表中指定元素的下标

    python中列表元素虽然有下标,但是有时候需要特定的用途,查找指定的特殊值的元素的下标. 这时候可以用for循环,打印出来下标,但是每次都要写for循环,感觉还是有点麻烦. 比如这样 使用enume ...

  6. python获取列表中某个元素个数_如何获取列表中的元素数?

    How to get the size of a list? 要查找列表的大小,请使用内置函数len:items = [] items.append("apple") items. ...

  7. python 列表中的数字转字符串_python 将列表中的字符串转为数字

    python 将列表中的字符串转为数字 转自:https://www.jb51.net/article/86561.htm 本文实例讲述了Python中列表元素转为数字的方法.分享给大家供大家参考,具 ...

  8. python统计列表中元素个数_python中计算一个列表中连续相同的元素个数方法

    python中计算一个列表中连续相同的元素个数方法 最简单的例子: a = [1,1,1,1,2,2,2,3,3,1,1,1,3] # 问:计算a中最多有几个连续的1 很明显,答案是4 如果用代码实现 ...

  9. Python实例 -- 如何快速获取列表中最大的三个元素

    如何快速获取列表中最大的三个元素 最近在做实验,期间需要在一个列表中获取最大的三个元素,自己写的方法复杂度太高,放上大牛的方法,复杂度很低.多看几遍,才能体会到大概的精髓.这道题也是Python的面试 ...

最新文章

  1. linux下普通用户如何使用80端口启动程序
  2. 杀死初创科技公司的四大工程陷阱
  3. 三位数除以两位数怎么算竖式_青岛版三年级上册数学5.6三位数除以一位数(最高位商后有余数)微课知识点精讲+练习...
  4. python学习-10 运算符1
  5. DataReader对象的基本使用 c#
  6. 基于贪心算法求解TSP问题(JAVA)
  7. python往redis导数_Python:教你一招,将500W+的数据快速写入redis(文内赋赠教程)...
  8. Java写播放器好写吗_java写mp3播放器
  9. akka mysql_初试超轻量级actor框架——akka
  10. 网页中加载flash的方法
  11. matlab r2008a下载,Matlab+R2008a下载地址及安装教程
  12. 北大AI讲座公开课-精华
  13. Java 程序员 金三银四面试必备:高速突击学习框架 + 性能优化
  14. liferay6.2 使用默认方式实现可配置的portlet
  15. 陈艾盐:春燕百集访谈节目第二十一集
  16. find、文件后缀及linux与Windows互传
  17. IBMX3250取消raid模式,直接装系统
  18. 大数据之hive:hive分桶表
  19. P1233 木棍加工
  20. JS实现最美的3D宇宙效果

热门文章

  1. 《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇:简介及目录》(附上完整工程文件)...
  2. 《我的青春谁做主》我想要的结局
  3. 抗炎饮食与混合坚果粉
  4. 肺癌图片识别的相关信息
  5. 百度网盘Linux客户端不停缓冲打不开
  6. python:else与循环语句联合用法
  7. 机器学习(三十)——Model-Free Control
  8. Java---报错The type List is not generic; it cannot be parameterized with arguments <Role>==List打包错误
  9. 自定义队列(优化了数组固定长度的弊端)以及集合中的一些重点内容
  10. #17# SCCM管理 - 软件中心 VS 应用程序目录网站点