У меня есть список в Python, например:
mylist = [1,1,1,1,1,1,1,1,1,1,1,
0,0,1,1,1,1,0,0,0,0,0,
1,1,1,1,1,1,1,1,0,0,0,0,0,0]
Моя цель - найти, где в строке пять или более нулей, а затем перечислить индексы того, где это происходит, например, выводпоскольку это будет:
[17,21][30,35]
вот что я пробовал / видел в других вопросах, задаваемых здесь:
def zero_runs(a):
# Create an array that is 1 where a is 0, and pad each end with an extra 0.
iszero = np.concatenate(([0], np.equal(a, 0).view(np.int8), [0]))
absdiff = np.abs(np.diff(iszero))
# Runs start and end where absdiff is 1.
ranges = np.where(absdiff == 1)[0].reshape(-1, 2)
return ranges
runs = zero_runs(list)
это дает вывод:
[0,10]
[11,12]
...
который в основном просто перечисляет индексы всех дубликатов, как бы я разделил эти данные на то, что мне нужно