पायथन में सूची के प्रत्येक यूनिक तत्व को यूनिक ID निर्दिष्ट करने के तरीके
1. enumerate और set का उपयोग
set से यूनिक तत्व लें, enumerate से ID दें, फिर मूल सूची के प्रत्येक तत्व को मैप करें।
Alist = [5, 3, 3, 12]
enum_dict = {v: k for k, v in enumerate(set(Alist))}
list_ids = [enum_dict[n] for n in Alist]
print("Unique IDs:", list_ids)
आउटपुट: [2, 0, 0, 1] (क्रम सेट के क्रम पर निर्भर)
2. itertools.count और map का उपयोग
dict.setdefault और काउंटर का उपयोग करके क्रम बनाए रखते हुए ID दें।
from itertools import count
Alist = [5, 3, 3, 12]
dict_ids = list(map({}.setdefault, Alist, count()))
print("Unique IDs:", dict_ids)
आउटपुट: [0, 1, 1, 3] (पहली ऑकरेंस के क्रम में ID)
तुलना
पहली विधि में ID का क्रम अनिश्चित होता है (सेट अनऑर्डर्ड है)। दूसरी विधि पहली उपस्थिति के क्रम में ID देती है।