कई बार हमें सूची के तत्वों को विशिष्ट रूप से पहचानने की आवश्यकता होती है। उसके लिए हमें सूची में प्रत्येक तत्व के लिए अद्वितीय आईडी निर्दिष्ट करने की आवश्यकता है। इसे पायथन में उपलब्ध विभिन्न इनबिल्ट फ़ंक्शंस का उपयोग करके निम्नलिखित दो दृष्टिकोणों द्वारा प्राप्त किया जा सकता है।
गणना और सेट के साथ
एन्यूमरेट फ़ंक्शन प्रत्येक तत्व को अद्वितीय आईडी प्रदान करता है। लेकिन अगर सूची पहले से ही डुप्लिकेट तत्वों के रूप में है तो हमें कुंजी मूल्य जोड़े का एक शब्दकोश बनाने की आवश्यकता है जो सूची बनाते हैं और सेट फ़ंक्शन का उपयोग करके अद्वितीय मान निर्दिष्ट करते हैं।
उदाहरण
# Given List Alist = [5,3,3,12] print("The given list : ",Alist) # Assigning ids to values enum_dict = {v: k for k, v in enumerate(set(Alist))} list_ids = [enum_dict[n] for n in Alist] # Print ids of the dictionary print("The list of unique ids is: ",list_ids)
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
The given list : [5, 3, 3, 12] The list of unique ids is: [2, 0, 0, 1]
गिनती के साथ() और मानचित्र()
मैप () फ़ंक्शन एक ही फ़ंक्शन को बार-बार पास किए गए विभिन्न मापदंडों पर लागू करता है। लेकिन गिनती विधि निर्दिष्ट मान वाले तत्वों की संख्या लौटाती है। इसलिए हम इन दोनों को मिलाकर नीचे दिए गए कार्यक्रम में दी गई सूची के तत्वों के लिए अद्वितीय आईडी की सूची प्राप्त करते हैं।
उदाहरण
from itertools import count # Given List Alist = [5,3,3,12] print("The given list : ",Alist) # Assign unique value to list elements dict_ids = list(map({}.setdefault, Alist, count())) # The result print("The list of unique ids is: ",dict_ids)
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
The given list : [5, 3, 3, 12] The list of unique ids is: [0, 1, 1, 3]