У меня есть список l = [10,10,20,15,10,20]
. Я хочу присвоить каждому уникальному значению определенный "индекс", чтобы получить [1,1,2,3,1,2]
.
Это мой код:
a = list(set(l))
res = [a.index(x) for x in l]
Который оказывается очень медленным.
l
имеет 1M элементов и 100K уникальных элементов. Я также попробовал карту с лямбдой и сортировкой, что не помогло. Каков идеальный способ сделать это?