Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Gán ID duy nhất cho mỗi giá trị trong danh sách Python

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]