Python:循环中的比较

2024-04-28 12:03:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个类似这样的数组 A=[1,2,3,4,5,6,7,8,7,6,5,4,3,2,1,0,1,2,3,4]

编辑时间: 我试着做循环,而我似乎不能得到它的权利 你们可以看到山顶是8,山谷是0 我不顾一切的举动就是反复打字 如果[0]<;A[1]: 如果A[1]<;A[2]: ...

直到它不对为止(A[7]<;A[8])(错误) 然后一些数组需要保存A[7]的值,比如z

我希望每次z捕捉到一个值时循环都停止

这只是内环,我还需要另一个外环,这样它就可以检测出基于峰值点的各种谷点


Tags: lt权利编辑错误时间数组峰值山顶
2条回答

我会在列表上循环,没有第一个和最后一个元素,并将每个元素与它前面的元素和后面的元素进行比较

turn = None # i.e., no turning point
for i in range(1, len(a) - 1):
    if (a[i+1] > a[i] and a[i] < a[i-1]) or (a[i+1] < a[i] and a[i] > a[i-1]):
        turn = i

只需使用堆库

import heapq as hpq

a = [1, 2 , 3, 4, 5, 6, 7, 8, 7, 6, 5]
turn = hpq.nlargest(a)

相关问题 更多 >