2011-11-20 5 views
16

में एक सूची से डुप्लिकेट तार निकाला जा रहा है अगर मैं एक स्ट्रिंग सूची है,अजगर

a = ["asd","def","ase","dfg","asd","def","dfg"] 

कैसे मैं सूची से डुप्लिकेट निकाल सकते हैं?

a = set(a) 

या वैकल्पिक रूप से वापस एक सूची के लिए:

a = list(set(a)) 

ध्यान दें कि यह नहीं है

उत्तर

37

एक सेट में कनवर्ट दूर करने के लिए सेट प्रकार का प्रयोग करें आदेश संरक्षित करें।

a = [ ... ] 
s = set(a) 
a2 = list(s) 
+0

धन्यवाद :) :) काम किया .... – Shamika

2

आप उन्हें एक set में पॉप सकता है और फिर वापस:

seen = set() 
result = [] 
for item in a: 
    if item not in seen: 
     seen.add(item) 
     result.append(item) 

ऑनलाइन काम कर यह देखें: आप की रक्षा करना चाहते हैं यहां एक उत्तर की तरह एक बात है लेकिन थोड़ा बदलाव, सेट वास्तव में आवश्यक नहीं है!

3
def getUniqueItems(iterable): 
result = [] 
for item in iterable: 
    if item not in result: 
     result.append(item) 
return result 

print (''.join(getUniqueItems(list('apple')))) 

पी एस: एक सूची में ideone

+0

क्या यह कोड स्निपेट ऑर्डर को सुरक्षित करता है? –

+0

यह आदेश को संरक्षित करता है, लेकिन इसमें जटिल जटिलता है, और यह किसी भी सूची के लिए दूरस्थ रूप से खराब है। – ReneSac

+0

यह कमाल है! धन्यवाद –