Um die bearbeitete Frage zu beantworten, d. h. die Liste der Zeichenketten auf eindeutige Ganzzahlen abzubilden, muss man zunächst die eindeutigen Zeichenketten finden und dann eine 1-1-Abbildung der Zeichenketten auf Ganzzahlen in der ursprünglichen Liste der Zeichenketten vornehmen. Zum Beispiel,
s = ['michael','michael','alice','carter']
dann sind eindeutige Zeichenfolgen {'michael','alice','carter'}
. Konvertieren Sie nun diese Zeichenketten in Ganzzahlen durch eine 1-1-Zuordnung wie {'michael','alice','carter'} =[1,2,3]
mit Wörterbuch {'michael':1,'alice':2,'carter':3}
. Im dritten Schritt wird die ursprüngliche Liste der Zeichenfolgen in einer Schleife durchlaufen, die Zeichenfolge im Wörterbuch nach der entsprechenden Ganzzahl durchsucht und die Zeichenfolge durch diese Ganzzahl ersetzt.
s=['michael','michael','alice','carter']
mydict={}
i = 0
for item in s:
if(i>0 and item in mydict):
continue
else:
i = i+1
mydict[item] = i
k=[]
for item in s:
k.append(mydict[item])
Sortie :
k=[1, 1, 2, 3]