我有一個字符串列表。我想爲每個字符串分配一個唯一的編號(確切的編號並不重要),並按順序使用這些編號創建一個長度相同的列表。下面是我最好的嘗試,但我不開心的原因有兩個:爲列表中的每個唯一值分配一個數字
它假定相同的值是彼此相鄰
我不得不用
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)
我想讓代碼更通用,所以它將與未知列表一起工作。有任何想法嗎?
如何在應用算法之前對列表進行排序 –