widths
дает диапазон ширины пиков. Я думаю, у вас есть эквивалентная интерпретация. Например, учитывая
1 2 5 9 8 9 8 9 7 4 2 1
У вас есть один пик (ширина> = 4), два (3 <= ширина <4) или три (ширина <3)? </p>
ВашВопрос подразумевает, что вы считаете это тремя пиками, и в этом случае вы можете установить widths
для пары значений единиц. Однако обратите внимание, что если это действительно ваш случай, то вы можете использовать гораздо более простой алгоритм. Просто итерируйте по списку, ища значения a [i], которые больше, чем соседние значения. Если у вас есть удобный оператор shift
, вы можете преобразовать его в пару логических массивов для обозначения растущих и падающих значений. Там, где у вас совпадают значения True
, у вас есть пик.