python找出列表中大于某个阈值的数据段示例

yipeiwu_com5年前Python基础

该算法实现对列表中大于某个阈值(比如level=5)的连续数据段的提取,具体效果如下:

找出list里面大于5的连续数据段:

list = [1,2,3,4,2,3,4,5,6,7,4,6,7,8,5,6,7,3,2,4,4,4,5,3,6,7,8,9,8,6,1]

输出:

[[6, 7], [6, 7, 8], [6, 7], [6, 7, 8, 9, 8, 6]]

算法实现:

# -*- coding: utf-8 -*-
 
"""
--------------------------------------------------------
# @Version : python3.6
# @Author : wtg
# @File  : data_search.py
# @Software: PyCharm
# @Time  : 2018/12/17 14:44
--------------------------------------------------------
# @Description: 
--------------------------------------------------------
"""
 
def data_search(data, level):
  list = []
  temp = []
  for i in range(len(data)):
    if data[i] > level:
      temp.append(data[i])
    else:
      list.append(temp)
      temp = []
  return [i for i in list if i]
 
if __name__ == '__main__':
  list = [1,2,3,4,2,3,4,5,6,7,4,6,7,8,5,6,7,3,2,4,4,4,5,3,6,7,8,9,8,6,1]
  ret = data_search(list, 5)
  print("input: ",list)
  print("output: ",ret)

效果如下:

以上这篇python找出列表中大于某个阈值的数据段示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python多进程并发(multiprocessing)用法实例详解

本文实例讲述了Python多进程并发(multiprocessing)用法。分享给大家供大家参考。具体分析如下: 由于Python设计的限制(我说的是咱们常用的CPython)。最多只能...

详解Python3中yield生成器的用法

任何使用yield的函数都称之为生成器,如: def count(n): while n > 0: yield n #生成值:n n -= 1...

使用python 的matplotlib 画轨道实例

使用python 的matplotlib 画轨道实例

如下所示: import numpy as np import matplotlib.pyplot as plt import matplotlib.patches as mpa...

Python cv2 图像自适应灰度直方图均衡化处理方法

Python cv2 图像自适应灰度直方图均衡化处理方法

__author__ = 'Administrator' import numpy as np import cv2 mri_img = np.load('mri_img.npy...

Python数据处理numpy.median的实例讲解

numpy模块下的median作用为: 计算沿指定轴的中位数 返回数组元素的中位数 其函数接口为: median(a, axis=None, out=None, overwri...