У меня есть массив, такой как
data = [
[1, 0],
[2, 0],
[3, 1],
[4, 1],
[5, 1],
[6, 0],
[7, 0]]
, и я хочу, чтобы результат был
verified_data = [[1, 0], [2, 0], [3, 1]]
Так как я могу удалить последние элементы, если они равны 0, а также еслипоследние N элементов одинаковы (кроме первого 1).Как правильно добиться этого?Использование numpy также хорошо.
Редактирование, как я написал решение, даже если оно выглядит некрасиво:
def verify_data(data):
rev_data = reversed(data)
for i, row in list(enumerate(rev_data )):
if row[1] == 0:
del data[- 1]
else:
break
rev_data = reversed(data)
last_same_data = None
for i, row in list(enumerate(rev_data)):
if not last_same_data:
last_same_data = row[1]
continue
if last_same_data == row[1]:
del data[-1]
else:
break
return data