पायथन का उपयोग करके डेटा विश्लेषण में हम ऐसी स्थिति का सामना कर सकते हैं जब दो सूचियों को मर्ज करने की आवश्यकता होती है। लेकिन उन सूचियों में मौजूद डुप्लिकेट तत्वों को संभालना एक चुनौती हो सकती है। इस लेख में हम देखेंगे कि पहली सूची के सभी तत्वों को बनाए रखते हुए और दूसरी सूची से केवल अद्वितीय तत्वों को लेकर दो सूचियों को कैसे संयोजित किया जाए।
extend का उपयोग करके
इस दृष्टिकोण में हम पहली सूची लेते हैं और एक परिणाम सूची बनाते हैं। फिर हम एक फॉर लूप डिज़ाइन करते हैं ताकि पहली सूची के तत्व की दूसरी सूची में उपस्थिति की जांच की जा सके और यदि तत्व दूसरी सूची में नहीं मिलता है तो इसे extend फ़ंक्शन का उपयोग करके परिणाम सूची में जोड़ा जाता है।
उदाहरण
# दी गई सूची A
listA = ['A', 'B', 'B', 'X']
# दी गई सूची B
listB = ['B', 'X', 'Z', 'P']
# परिणाम सेट बनाना
res = list(listA)
# सूची B के साथ परिणाम बढ़ाना
res.extend(i for i in listB if i not in res)
# परिणाम प्राप्त करें
print(res)
उपरोक्त कोड चलाने से हमें निम्न परिणाम मिलता है:
आउटपुट
['A', 'B', 'B', 'X', 'Z', 'P']
set का उपयोग करके
हम किसी सूची में मौजूद अद्वितीय तत्वों को प्राप्त करने के लिए set फ़ंक्शन लागू कर सकते हैं। फिर हम इन दो सूचियों के बीच तत्वों का अंतर ढूंढकर केवल दूसरी सूची से अद्वितीय तत्व प्राप्त करते हैं। अंत में हम इस अंतर के परिणाम को पहली सूची में जोड़ते हैं।
उदाहरण
# दी गई पहली सूची
listA = ['A', 'B', 'B', 'X']
# दी गई दूसरी सूची
listB = ['B', 'X', 'Z', 'P']
# सूचियों को अद्वितीय बनाना
listA_uniq = set(listA)
listB_uniq = set(listB)
# सूची B से अद्वितीय तत्व प्राप्त करना
diff_lists = listB_uniq - listA_uniq
res = listA + list(diff_lists)
# परिणाम प्राप्त करें
print(res)
उपरोक्त कोड चलाने से हमें निम्न परिणाम मिलता है:
आउटपुट
['A', 'B', 'B', 'X', 'P', 'Z']
दोनों दृष्टिकोणों का अंतर:
| पहलू | extend विधि | set विधि |
|---|---|---|
| क्रम संरक्षित | हां (listA का क्रम + listB के नए तत्व) | नहीं (set अनऑर्डर्ड है) |
| listA के डुप्लिकेट | संरक्षित | संरक्षित |
| listB के डुप्लिकेट | हटाए गए (केवल अद्वितीय) | हटाए गए (केवल अद्वितीय) |