たとえば、1のシーケンスまたは0のシーケンスを持つバイナリ情報を含むpythonリストがあります。
event = [0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1]
開始 1 と終了 1 のインデックス値を格納するにはどうすればよいですか?
例えば:
もしそうevent = [0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1]
ならresult = [2,5,8,11]
EDIT2私は、結果が理想的にはresult_start = [2,8] result_end = [5,11]である必要があることに気付きました.lazyrソリューションのように、このようにして、単一の1がどこにあるかを理解します。例えば。event=[0,0,1,1,0,1] では、最後の 1 に対して間違ったリストが生成されます。すべて試してくれてありがとう!
EDIT1:最初と最後の1のインデックスが必要ですが、最初から最後の1までです。
次のようにコーディングしてみました。
k=False
j=0
result=[]
for i in event:
if i==1:
k=True
result.append(k)
else:
k=False