永远爱学习

导航

python求解数组的波峰波谷

nums = [1,2,3,2,4,5,4,3,2,1,8,9,10,11,10,9,8]
peaks = []
troughs = []
for idx in range(1, len(nums)-1):
    if nums[idx-1] < nums[idx] > nums[idx+1]:
        peaks.append((idx, nums[idx]))
    if nums[idx-1] > nums[idx] < nums[idx+1]:
        troughs.append((idx, nums[idx]))
        
print(peaks) # [(2, 3), (5, 5), (13, 11)]
print(troughs) # [(3, 2), (9, 1)]

posted on 2018-09-14 16:04  永远爱学习  阅读(1230)  评论(0)    收藏  举报