連続イベントのインデックスを、その値に基づいてイベントのリストからグループ化しようとしています。Pythonでリストのリストに追加するときに上書きする
しかし、events_listリストに追加できないエラーが私のコードにあります。 私のコードを追加すると、以前に追加された項目の値が上書きされます。
最後のprintステートメントは、[[0,1,2,3,4]、[7]]の代わりに[[24]、[24]、[24]、[24] 、[8,9]、[10,11,12]、[16、17、18、19、20、21]、[24]あなたがcurrent_event
ために同じ参照を再利用している
single_events = [1,1,1,1,1,0,0,-1,1,1,-1,-1,-1,0,0,0,-1,-1,-1,-1,-1,-1,0,0,1]
events_list = []
current_event = []
for i, event in enumerate(single_events):
print('\nRecord: ', i, ',\tEvent Type: ', event)
if (current_event == []) and (event != 0):
current_event.append(i)
print('Current Event: ', current_event)
elif (current_event == []) and (acc == 0):
pass
elif (current_event != []) and (event == single_events[current_event[-1]]):
current_event.append(i)
print('Current Event: ', current_event)
elif (current_event != []) and (event != single_events[current_event[-1]]):
print('Event to be appended: ', current_event)
events_list.append(current_event)
print('\nNEW EVENT LIST!!!: ', events_list)
current_event[:] = []
if event == 0:
pass
else:
current_event.append(i)
print('Current Event: ', current_event)
print('\n', events_list)