python找到list中的最低点

x是一个list,图形的纵坐标是x中的值,横坐标是自然数,用plt函数画出来,假设图形如下,我想找到这个图形中所有阶段低点(类似连续函数里的拐点):a,b点。不知道如何实现。Help me
补充:不是求整个列表的最低点,是找阶段的阶段低点,阶段不确定的。在图形上能看到

img

题主的意思就是找到曲线上的全部驻点,也就是导数为0点。如果题主的数据可以通过回归算法找到函数表达式,则可以通过求导找出所有的驻点;如果数据不能或者难以通过回归算法找打函数表达式,也可以通过比较相邻数据点的增量找到驻点。下面的代码,用一组正弦数据演示了这个方法。

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> x = np.linspace(0,8*np.pi,100) # 在4个周期内等间隔取100个点
>>> y = np.sin(x) # 生成正弦曲线上100个点的值
>>> plt.plot(x,y) # 曲线如下图所示
[<matplotlib.lines.Line2D object at 0x0000020702BD0D08>]
>>> plt.show()
>>> d = np.absolute(np.diff(y)) # 相邻点取差的绝对值
>>> i = np.argsort(d) # 索引序号排序
>>> x[i[:8]] # 4个周期有8个驻点
array([ 4.56958931, 20.30928584, 10.91624114, 13.96263402,  1.52319644,
       23.35567872, 17.26289297,  7.61598219])
>>> y[i[:8]] # 如果只需要导数从负变正的驻点,那就遍历这8个点,比较其前后值即可
array([-0.98982144,  0.99383846, -0.99685478,  0.98480775,  0.99886734,
       -0.97880245, -0.99987413,  0.97181157])

img

你是找最低点呢,还是找它的索引
最低点:min(x)
索引:x.index(min(x))

img

就是找到一个地点后确保周围点高就行了呗