У меня есть список 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 уникальных элементов. Я также попробовал карту с лямбдой и сортировкой, что не помогло. Каков идеальный способ сделать это?