问题描述:
在处理一堆数据列表问题是遇到了一个小难题,就是如何从一串不固定长度的数字元素列表中提取出指定连续长度的元素片段呢?
例如:
'''我们想对下面这个列表:
1、将连续的数字片段提取出来
2、指定连续的片段长度,例如我想把满足3个元素连续或者4个元素连续的片段提取出来'''
num_list = [1, 2, 4, 5, 6, 7, 14, 15, 17, 18, 19, 31, 32, 33, 34, 46, 48, 78, 90, 112, 113, 114, 160, 432]
解决措施:
def continusFind(num_list):
num_list.sort()
s = 1
find_list = []
have_list = []
while s <= len(num_list) - 1:
if num_list[s] - num_list[s - 1] == 1:
flag = s - 1
while num_list[s] - num_list[s - 1] == 1:
s += 1
#判断是否为连续的3连号或者4连号或者5连号的连续片段
if len(num_list[flag:s])==3 or len(num_list[flag:s])==4 or len(num_list[flag:s])==5:
find_list.append(num_list[flag:s])
have_list += num_list[flag:s]
else:
s += 1
return find_list
num_list = [1, 2, 4, 5, 6, 7, 14, 15, 17, 18, 19, 31, 32, 33, 34, 46, 48, 78, 90, 112, 113, 114, 160, 432]
print(continusFind(num_list))
效果展示:
成功将指定长度的连续片段取出!
最后
以上就是开放大叔最近收集整理的关于【Python小技巧】python从数字列表中提取出指定长度的连续数字片段问题描述:解决措施:效果展示:的全部内容,更多相关【Python小技巧】python从数字列表中提取出指定长度内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复