Python : 循环比较
Python : compare in looping
我有一个看起来有点像这样的数组
A = [1, 2 , 3, 4, 5, 6, 7, 8, 7, 6, 5,4,3,2,1,0,1,2,3,4]
已编辑:
我尝试使用 for 循环,但我似乎做不对
你们可以看到峰是 8 谷是 0
我绝望的举动是反复输入如果
如果 A[0] < A[1] :
如果 A[1] < A[2]:
...
直到它不对(A[7] < A[8])(错误)
然后一些数组需要保存 A[7] 的值,比如 z
而且我希望循环在每次 z 捕捉到一个值时停止
这只是内循环,我还需要另一个外循环,以便它可以根据峰值点检测各种谷点。
我将遍历列表,不包括第一个和最后一个元素,并将每个元素与其之前和之后的元素进行比较
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)
我有一个看起来有点像这样的数组 A = [1, 2 , 3, 4, 5, 6, 7, 8, 7, 6, 5,4,3,2,1,0,1,2,3,4]
已编辑: 我尝试使用 for 循环,但我似乎做不对 你们可以看到峰是 8 谷是 0 我绝望的举动是反复输入如果 如果 A[0] < A[1] : 如果 A[1] < A[2]: ...
直到它不对(A[7] < A[8])(错误) 然后一些数组需要保存 A[7] 的值,比如 z
而且我希望循环在每次 z 捕捉到一个值时停止
这只是内循环,我还需要另一个外循环,以便它可以根据峰值点检测各种谷点。
我将遍历列表,不包括第一个和最后一个元素,并将每个元素与其之前和之后的元素进行比较
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)