के साथ एक सूची इंडेक्स करना मेरे पास एक सूची है 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
में 1 एम तत्व हैं, और 100K अद्वितीय तत्व हैं। मैंने लैम्ब्डा और सॉर्टिंग के साथ मानचित्र की भी कोशिश की है, जिसने मदद नहीं की। ऐसा करने का आदर्श तरीका क्या है?
आप परवाह करते हैं:
operator.itemgetter()
करने के लिए मुख्य सूची प्रत्येक आइटम के लिए इसी सूचकांक पाने के लिए? –क्या आप न्यूपी का उपयोग कर सकते हैं? –