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

Python सूची से डुप्लिकेट हटाएं

सूची एक कंटेनर है जिसमें अलग-अलग जानकारी होती है Python ऑब्जेक्ट्स, जो पूर्णांक, शब्द, मान आदि हो सकते हैं। यह अन्य प्रोग्रामिंग भाषाओं में एक सरणी के बराबर है।

तो यहाँ हम विभिन्न तरीकों से गुजरेंगे जिनसे हम किसी दी गई सूची से डुप्लिकेट को हटा सकते हैं Python.

विधि 1) सेट का उपयोग करके सूची से डुप्लिकेट निकालें

किसी सूची से डुप्लिकेट को हटाने के लिए, आप अंतर्निहित फ़ंक्शन का उपयोग कर सकते हैं set()Set() विधि की विशेषता यह है कि यह अलग-अलग तत्वों को लौटाती है।

हमारे पास एक सूची है: [1,1,2,3,2,2,4,5,6,2,1]। सूची में कई डुप्लिकेट हैं जिन्हें हमें हटाना है और केवल अलग-अलग तत्वों को वापस लाना है। सूची दी गई है set() अंतर्निहित समारोह. Later अंतिम सूची का उपयोग करके प्रदर्शित किया जाता है list() अंतर्निहित फ़ंक्शन, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है.


हमें जो आउटपुट मिलता है वह अलग-अलग तत्व होते हैं, जहां सभी डुप्लिकेट तत्व समाप्त हो जाते हैं।
उदाहरण

my_list = [1,1,2,3,2,2,4,5,6,2,1]
my_final_list = set(my_list)
print(list(my_final_list))

आउटपुट:

[1, 2, 3, 4, 5, 6]

विधि 2) अस्थायी सूची का उपयोग करना

किसी दिए गए स्थान से डुप्लिकेट हटाने के लिए list, आप एक खाली अस्थायी सूची का उपयोग कर सकते हैं। इसके लिए सबसे पहले, आपको डुप्लिकेट वाली सूची के माध्यम से लूप करना होगा और अस्थाई सूची में अद्वितीय आइटम जोड़ना होगा। Later अस्थायी सूची को मुख्य सूची में शामिल कर दिया गया है।

उदाहरण
यहां अस्थायी सूची का उपयोग करके एक कार्यशील उदाहरण दिया गया है।

my_list = [1, 2, 3, 1, 2, 4, 5, 4 ,6, 2]
print("List Before ", my_list)
temp_list = []

for i in my_list:
    if i not in temp_list:
        temp_list.append(i)

my_list = temp_list

print("List After removing duplicates ", my_list)

आउटपुट:

List Before  [1, 2, 3, 1, 2, 4, 5, 4, 6, 2]
List After removing duplicates  [1, 2, 3, 4, 5, 6]

विधि 3) डिक्ट का उपयोग करना

हम आयात करके दी गई सूची से डुप्लिकेट हटा सकते हैं OrderedDict संग्रह से। यह python2.7 के बाद से उपलब्ध है। OrderedDict आपको कुंजी मौजूद होने के क्रम में अलग-अलग तत्वों को वापस करने का ख्याल रखता है।

आइये एक सूची का उपयोग करें और fromkeys() सूची से अद्वितीय तत्व प्राप्त करने के लिए OrderedDict में उपलब्ध विधि।

का उपयोग करने के लिए OrderedDict.fromkey() विधि में, आपको संग्रह से OrderedDict को आयात करना होगा, जैसा कि नीचे दिखाया गया है:

from collections import OrderedDict

यहाँ डुप्लिकेट को हटाने का एक उदाहरण दिया गया है OrderedDict.fromkeys() विधि.

उदाहरण

from collections import OrderedDict

my_list = ['a','x','a','y','a','b','b','c']

my_final_list = OrderedDict.fromkeys(my_list)

print(list(my_final_list))

आउटपुट:

['a', 'x', 'y', 'b', 'c']

से Python 3.5+ के बाद, हम नियमित का उपयोग कर सकते हैं dict.fromkeys() सूची से अलग-अलग तत्व प्राप्त करने के लिए। dict.fromkeys() विधियाँ अद्वितीय कुंजियाँ लौटाती हैं और डुप्लिकेट मानों से छुटकारा पाने में मदद करती हैं।

एक उदाहरण जो की कार्यप्रणाली को दर्शाता है dict.fromkeys() अद्वितीय आइटम देने के लिए एक सूची इस प्रकार है:

उदाहरण

my_list = ['a','x','a','y','a','b','b','c']
my_final_list = dict.fromkeys(my_list)
print(list(my_final_list))

आउटपुट:

['a', 'x', 'y', 'b', 'c']

विधि 4) फॉर-लूप का उपयोग करना

का प्रयोग पाश के लिए, हम डुप्लिकेट को हटाने के लिए आइटम की सूची को पार करेंगे।

सबसे पहले array को खाली करें यानी myFinallist = []फॉर-लूप के अंदर, जाँच करें कि सूची में मौजूद आइटम सरणी में मौजूद हैं या नहीं myFinallistयदि आइटम मौजूद नहीं हैं, तो आइटम को myFinallist सरणी में जोड़ें append() विधि.

इसलिए जब भी डुप्लिकेट आइटम का सामना होगा तो वह पहले से ही myFinallist सरणी में मौजूद होगा और डाला नहीं जाएगा। आइए अब नीचे दिए गए उदाहरण में इसकी जाँच करें:

उदाहरण

my_list = [1,2,2,3,1,4,5,1,2,6]
myFinallist = []
for i in my_list:
    if i not in myFinallist:
myFinallist.append(i)
print(list(myFinallist))

आउटपुट:

[1, 2, 3, 4, 5, 6]

विधि 5) सूची समझ का उपयोग करना

सूची समझ हैं Python ऐसे फ़ंक्शन जिनका उपयोग पहले से बनाए गए अनुक्रमों का उपयोग करके नए अनुक्रम (जैसे सूचियाँ, शब्दकोश, आदि) बनाने के लिए किया जाता है। यह आपको लंबे लूप को कम करने और आपके कोड को पढ़ने और बनाए रखने में आसान बनाने में मदद करता है।

आइए दी गई सूची से डुप्लिकेट को हटाने के लिए सूची समझ का उपयोग करें।

उदाहरण

my_list = [1,2,2,3,1,4,5,1,2,6]
my_finallist = []
[my_finallist.append(n) for n in my_list if n not in my_finallist] 
print(my_finallist)

आउटपुट:

[1, 2, 3, 4, 5, 6]

विधि 6) Numpy unique() विधि का उपयोग करना।

विधि unique() Numpy मॉड्यूल से हमें दी गई सूची से डुप्लिकेट को हटाने में मदद मिल सकती है।

Numpy के साथ काम करने के लिए पहले numpy मॉड्यूल आयात करें, आपको इन चरणों का पालन करना होगा:

चरण 1) Numpy मॉड्यूल आयात करें

import numpy as np

चरण 2) नीचे दिखाए अनुसार unique विधि के अंदर डुप्लिकेट के साथ अपनी सूची का उपयोग करें। आउटपुट को वापस सूची प्रारूप में परिवर्तित किया जाता है tolist() विधि.

myFinalList = np.unique(my_list).tolist()

चरण 3) अंत में नीचे दिखाए अनुसार सूची प्रिंट करें:

print(myFinalList)

आउटपुट सहित अंतिम कोड इस प्रकार है:

import numpy as np
my_list = [1,2,2,3,1,4,5,1,2,6]
myFinalList = np.unique(my_list).tolist()
print(myFinalList)

आउटपुट:

[1, 2, 3, 4, 5, 6]

विधि 7) पांडा विधियों का उपयोग करना

पांडा मॉड्यूल में एक unique() विधि जो हमें दी गई सूची से अद्वितीय तत्व देगी।

पांडा मॉड्यूल के साथ काम करने के लिए, आपको इन चरणों का पालन करना होगा:

चरण 1) पांडा मॉड्यूल आयात करें

import pandas as pd

चरण 2) अपनी सूची का उपयोग डुप्लिकेट के साथ करें unique() नीचे दिखाए अनुसार विधि:

myFinalList = pd.unique(my_list).tolist()

चरण 3) नीचे दिखाए अनुसार सूची प्रिंट करें:

print(myFinalList)

आउटपुट सहित अंतिम कोड इस प्रकार है:

import pandas as pd

my_list = [1,2,2,3,1,4,5,1,2,6]
myFinalList = pd.unique(my_list).tolist()
print(myFinalList)

आउटपुट:

[1, 2, 3, 4, 5, 6]

विधि 8) enumerate() और सूची समझ का उपयोग करना

यहाँ डुप्लिकेट तत्वों को हटाने के लिए सूची समझ और गणना का संयोजन है। सूची में प्रत्येक तत्व के लिए एक काउंटर के साथ एक ऑब्जेक्ट लौटाता है। उदाहरण के लिए (0,1), (1,2) आदि। यहाँ पहला मान इंडेक्स है, और दूसरा मान सूची आइटम है।

प्रत्येक तत्व की जाँच की जाती है कि वह सूची में मौजूद है या नहीं, और यदि मौजूद है तो उसे सूची से हटा दिया जाता है।

उदाहरण

my_list = [1,2,2,3,1,4,5,1,2,6]
my_finallist = [i for j, i in enumerate(my_list) if i not in my_list[:j]] 
print(list(my_finallist))

आउटपुट:

[1, 2, 3, 4, 5, 6]

सारांश

  • किसी सूची से डुप्लिकेट को हटाने के लिए, आप अंतर्निहित फ़ंक्शन का उपयोग कर सकते हैं set().इसकी विशेषता यह है कि set() विधि की विशेषता यह है कि यह अलग-अलग तत्व लौटाती है।
  • आप आयात करके दी गई सूची से डुप्लिकेट हटा सकते हैं OrderedDictfrom यह python2.7 के बाद से उपलब्ध है। OrderedDictdict आपको कुंजी के मौजूद होने के क्रम में अलग-अलग तत्वों को वापस करने का ध्यान रखता है।
  • आप फॉर-लूप का उपयोग कर सकते हैं, जिसके माध्यम से हम डुप्लिकेट को हटाने के लिए आइटमों की सूची को पार करेंगे।
  • विधि unique() Numpy मॉड्यूल से हमें दी गई सूची से डुप्लिकेट को हटाने में मदद मिल सकती है।
  • पांडा मॉड्यूल में एक unique() विधि जो हमें दी गई सूची से अद्वितीय तत्व देगी।
  • सूची समझ और गणना के संयोजन का उपयोग सूची से डुप्लिकेट तत्वों को हटाने के लिए किया जाता है। सूची में प्रत्येक तत्व के लिए एक काउंटर के साथ एक ऑब्जेक्ट लौटाता है।