日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【python】获取列表中最长连续数字

發布時間:2023/12/20 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【python】获取列表中最长连续数字 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近開發遇到一個功能需求,目的是要獲取一個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 response1
print response2
print response3

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

?

?

可以看出結果是我們想要的順序。

轉載于:https://www.cnblogs.com/zhenglisai/p/10307190.html

總結

以上是生活随笔為你收集整理的【python】获取列表中最长连续数字的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。