Я новичок в Python и застрял, пытаясь определить «интервалы», где значение y =‹ 70. У меня есть упорядоченная словарная запись:
d = {0: '92', 11: '70', 43: '77', 44: '76', 61: '77', 64: '69',
68: '67', 84: '68', 93: '87', 108: '81', 141: '74'}
Я хочу написать функцию, которая позволяет мне идентифицировать «интервалы» (a, b) на основе ключей (значений x) d на основе значений y = ‹ N. Мои конечные точки (a, b) должны быть там, где значения начать нисходящий и восходящий вход и выход из этого значения N, поэтому фактические значения конечных точек будут «выше» N, но записи между ними должны быть ниже.
(a,b): {above, below, below, below, above}
Например, меня интересуют интервалы как словарь, здесь N = 70:
{(0,43):{92,70,77}, (61,93): {77, 69, 67, 68, 87}} <-- includes the values at endpoints
Но можно игнорировать те другие «интервалы», где значения никогда не ниже 70, поэтому в этом случае нам не нужно: (43,51), (93,180)
Есть ли простой способ сделать это? До сих пор мне удавалось определить точки, в которых происходит изменение «выше» на «ниже» 70 или наоборот, но я не уверен, как действовать при создании интервалов и значений (например, в словаре). Я думаю, что я смотрел на это слишком долго.