大列表,找到列表的所有最小值(python) [英] Large list, find all minima of list (python)

查看:52
本文介绍了大列表,找到列表的所有最小值(python)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

给出大量波动值,如何确定所有局部最小值?不使用 numpy .局部最小值表示列表中所有作为函数谷值的值.

Given a large list of fluctuating values, how do you determine all local min values? Not using numpy. Local minimum means all values in a list that are the troughs of a function.

List_y = [23, 8, -7, 57, 87, 6]

我想要:

New_list = [-7, 6]

推荐答案

def local_min(ys):
    return [y for i, y in enumerate(ys)
            if ((i == 0) or (ys[i - 1] >= y))
            and ((i == len(ys) - 1) or (y < ys[i+1]))]


>>> local_min([23, 8, -7, 57, 87, 6])
[-7, 6]
>>> local_min([23, 6, 6, 6, 42])
[6]
>>> local_min([6, 6, 4])
[4]

这篇关于大列表,找到列表的所有最小值(python)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆