我为我的问题准备了一个例子(顺便说一句,两个列表中的位数相等)。
lst = [10,20,30,40,30,20,70,10,20,10,20,30,40,50,60,70,80,60] lst2 = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18] sup = zip(lst,lst2) res = [j for i, j, k in zip(sup, sup[1:], sup[2:]) if i < j and j > k and j >= 60.0] print res
它应该找到那些值,但它没有。有什么想法吗?
[(70, 7) (80, 17)]
我不清楚你想得到什么。
sup = list(zip(lst,lst2))
之后,你可以比较使用你的列表理解。
res = [j for i, j, k in zip(sup, sup[1:], sup[2:]) if i < j and j > k and j[0] >= 60.0]
返回[(70,7),(80,17)]。