Gán ID duy nhất cho từng giá trị khác nhau trong danh sách, giá trị trùng lặp nhận cùng ID.
Cách 1: enumerate và set
Alist = [5,3,3,12]
print("The given list : ", Alist)
enum_dict = {v: k for k, v in enumerate(set(Alist))}
list_ids = [enum_dict[n] for n in Alist]
print("The list of unique ids is: ", list_ids)
Kết quả: [2, 0, 0, 1]
Cách 2: count() và map()
from itertools import count
Alist = [5,3,3,12]
print("The given list : ", Alist)
dict_ids = list(map({}.setdefault, Alist, count()))
print("The list of unique ids is: ", dict_ids)
Kết quả: [0, 1, 1, 3]