У меня есть список строк. Я хочу назначить уникальный номер каждой строке (точное число не важно) и создать список с той же длиной, используя эти цифры, по порядку. Ниже приведена моя лучшая попытка, но я не счастлив по двум причинам:
-
Предполагается, что одни и те же значения находятся рядом друг с другом
-
Мне пришлось запустить список с
0
, иначе результат был бы неправильным
Мой код:
names = ['ll', 'll', 'll', 'hl', 'hl', 'hl', 'LL', 'LL', 'LL', 'HL', 'HL', 'HL']
numbers = [0]
num = 0
for item in range(len(names)):
if item == len(names) - 1:
break
elif names[item] == names[item+1]:
numbers.append(num)
else:
num = num + 1
numbers.append(num)
print(numbers)
Я хочу сделать код более общим, поэтому он будет работать с неизвестным списком. Любые идеи?