我有一个字符串列表.我想为每个字符串分配一个唯一的编号(确切的数字并不重要),并按顺序使用这些编号创建一个相同长度的列表.以下是我最好的尝试,但我不满意有两个原因:
它假设相同的值彼此相邻
我必须用a开始列表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)
Run Code Online (Sandbox Code Playgroud)
我想使代码更通用,因此它将使用未知列表.有任何想法吗?