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
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]