Ich habe eine Liste von Zeichenfolgen. Ich möchte jeder Zeichenfolge eine eindeutige Nummer zuweisen (die genaue Nummer ist nicht wichtig) und eine Liste der gleichen Länge mit diesen Nummern in der Reihenfolge erstellen. Unten ist es mein Bestes versuchen, aber ich bin aus zwei Gründen nicht glücklich:Weisen Sie jedem eindeutigen Wert in einer Liste eine Zahl zu
Er geht davon aus, dass die gleichen Werte zueinander
nächsten sindich die Liste mit einem
0
starten musste, sonst wäre der Ausgang
Mein Code falsch:
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)
Ich möchte den Code allgemeiner machen, damit er mit einer unbekannten Liste funktioniert. Irgendwelche Ideen?
Wie wäre es mit der Sortierung der Liste vor der Anwendung des Algorithmus –