Ваши списки lft_lmt
и rgt_lmt
содержат только значения, которые больше или равны 20, поэтому ваши списки [20, 44, 37, 22, 20]
и [20, 22, 37, 44, 20]
соответственно.
>>> lmt_lst = [-1, 5, 9, 20, 44, 37, 22, 20, 17, 12, 6, 1, -6]
>>> [x for x in lmt_lst if x >=20]
[20, 44, 37, 22, 20]
>>> [x for x in reversed(lmt_lst) if x >= 20]
[20, 22, 37, 44, 20]
Первый элемент обоихэти списки 20
, и поэтому, когда вы будете искать их (используя .index
, который выполняет поиск в начале списка) в начальном списке, вы получите 3раз (потому что 20 находится в позиции 3 независимо от того, сколько раз вы просматриваете список от начала до конца).
Чтобы найти правильный индекс, вы хотите выполнить поиск в обратном списке и учесть результат, как если быпоиск по списку назад:
>>> lft_idx = lmt_lst.index(lft_lmt)
>>> lft_idx
3
>>> rgt_idx = len(lmt_lst) - 1 - lmt_lst[::-1].index(rgt_lmt)
>>> rgt_idx
7