Условия для заархивированных списков в течение цикла - PullRequest
0 голосов
/ 16 сентября 2018

Я подготовил пример для моей проблемы.(Кстати, количество цифр в обоих списках одинаково).

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

1 Ответ

0 голосов
/ 16 сентября 2018

Мне не ясно, что вы хотите получить с этим.

вы можете использовать:

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

Обратите внимание, что i, j и k - кортежи! Вот почему я выбрал j [0], чтобы проверить, если это> = 60

...