откройте свой php.ini, убедитесь, что он установлен:
display_errors = On
перезагружает ваш сервер.
ret = []
prev = False
for i, x in enumerate(t):
if x and not prev:
ret.append(i)
prev = x
print(ret)
t = [False, False, False, False, True, True, True, False, False,
True, True, True, True, False, False, False, False, False,
False, False, True, True, True, False]
indexes = []
counter = 0
for i in range(0, len(t)):
el = t[i]
if counter == 0:
if el:
indexes.append(i)
counter = i
else:
if (el == True) and (i - counter == 1):
indexes.append(i)
counter = i
else:
break
print(indexes)
Если вы в порядке со сторонним модулем pandas
import pandas as pd
t = [False, False, False, False, True, True, True, False, False,
True, True, True, True, False, False, False, False, False,
False, False, True, True, True, False]
s=pd.Series(t)
s = s.loc[s==True][s.shift(+1) != s]
Другое решение без панд, использующее defaultdict
from collections import defaultdict
d=defaultdict(list)
prev=t[0]
d[prev].append(0)
for idx,element in enumerate(t[1:],1):
if element!=prev:
d[element].append(idx)
prev=element
print(d)
Выход:
defaultdict(list, {False: [0, 7, 13,23], True: [4, 9, 20]})