У меня есть такой список:
list_1 = [1, 2, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 1, 2, 1, 2, 3, 1, 1, 2, 3, 4, 1]
В этом списке значение сразу после 4
больше или меньше самого 4
. Более конкретно, меньшее значение всегда 1
. Значения интервала от этого 1
до следующего 1
всегда меньше 4
.
Как найти и заменить значение такого интервала, например, как следующее:
list_2 = [nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, 0, 0, 0, nan, nan, nan, nan, nan, nan, nan, 0]
1, 2, 1
заменяется, потому что первый 1
расположен сразу после него и меньше 4
. Таким образом, интервал от этого первого 1
до второго 1
заменяется.
Другие значения не должны быть nan
, я просто выделю замены. Для ясности, если значение сразу после 4
будет пропущено.