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

yipeiwu_com6年前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的str强转int时遇到的问题

数字字符串前后有空格没事: >>> print(int(" 3 ")) 3 但是下面这种带小数点的情况是不可取的: >>> print(in...

Python浮点数四舍五入问题的分析与解决方法

Python浮点数四舍五入问题的分析与解决方法

问题 昨天遇到一个问题,在 6.6045 保留三位小数时,使用 round() 函数进行计算,我们希望得到 6.605,然而: >>> round(6.6045,...

Django 中间键和上下文处理器的使用

Django 中间键和上下文处理器的使用

一、中间键的引入: Django中间件(Middleware)是一个 轻量级、底层的 “插件”系 统,可以介入 Django的请求和响应处理过程, 修改 Django的输入或输出. dj...

Flask配置Cors跨域的实现

Flask配置Cors跨域的实现

1 跨域的理解 跨域是指:浏览器A从服务器B获取的静态资源,包括Html、Css、Js,然后在Js中通过Ajax访问C服务器的静态资源或请求。即:浏览器A从B服务器拿的资源,资源中想访...

用python画一只可爱的皮卡丘实例

用python画一只可爱的皮卡丘实例

效果图 #!/usr/bin/env python # -*- coding:utf-8 -*- from turtle import * ''' 绘制皮卡丘头部 ''' de...