У меня есть такой список
['A', 'A', 'B', 'B', 'A+B', 'A+B', 'B', 'B', 'A']
Я хочу преобразовать этот список в такой
[1, 1, 2, 2, 3, 3, 4, 4, 5]
Что яЯ начну со значения 1
, и когда произойдет изменение значения из списка, я увеличу значение в руке на единицу.
Это код, который я сейчас использую,
counts = []
count = 1
for i in range(1, len(p)):
print(p[i-1], p[i])
if p[i-1] == p[i]:
counts.append(count)
else:
counts.append(count)
count += 1
if p[-2] == p[-1]:
counts.append(counts[-1])
else:
counts.append(counts[-1] + 1)
Как сделать это в Python эффективно.?Я также могу использовать numpy, если необходимо