Я новичок в Python и я застрял, пытаясь определить «интервалы», где у-значение = < 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 или наоборот, но не уверен, как действовать при создании интервалов и значений (например, в словаре). Кажется, я слишком долго смотрел на это.
В примере вывода используется y-значение <= 70, а не y-значение <70 –
Спасибо! Это была опечатка. –
ОК, обновил свой ответ соответственно –