पाइथन सेट्स को मिलाने के कई कुशल और सुंदर तरीके प्रदान करता है, जिससे मूल सेट्स के सभी अनोखे तत्वों वाला एक नया सेट बनता है। इस प्रक्रिया को आमतौर पर सेट संघ (सेट यूनियन) के रूप में जाना जाता है। यह लेख इन विधियों का पता लगाता है, उनकी पठनीयता, दक्षता और विभिन्न परिदृश्यों के लिए उपयुक्तता की तुलना करता है।
विषयवस्तु सारणी
- संघ संचालक (
|
) का उपयोग करके सेट संघ update()
विधि का उपयोग करके इन-प्लेस संघunion()
विधि का उपयोग करके सेट संघreduce()
औरoperator.or_
का उपयोग करके कई सेट्स का संघitertools.chain()
के साथ कुशल संघ- अनपैकिंग ऑपरेटर (
*
) का उपयोग करके संघ - निष्कर्ष
1. संघ संचालक (|
) का उपयोग करके सेट संघ
सबसे सहज और सामान्य रूप से उपयोग की जाने वाली विधि संघ संचालक (|
) है। यह संचालक दोनों इनपुट सेट्स के सभी अनोखे तत्वों वाला एक नया सेट बनाता है।
set1 = {1, 2, 3}
set2 = {3, 4, 5}
set3 = set1 | set2
print(set3) # आउटपुट: {1, 2, 3, 4, 5}
इसकी संक्षिप्तता और पठनीयता इसे दो सेट्स से जुड़े अधिकांश परिस्थितियों के लिए पसंदीदा विकल्प बनाती है।
2. update()
विधि का उपयोग करके इन-प्लेस संघ
update()
विधि एक सेट को इन-प्लेस संशोधित करती है, दूसरे इटरेबल (सेट्स सहित) से तत्व जोड़ती है। यह एक नया सेट वापस नहीं करता है; यह सीधे मौजूदा सेट को बदल देता है।
set1 = {1, 2, 3}
set2 = {3, 4, 5}
set1.update(set2)
print(set1) # आउटपुट: {1, 2, 3, 4, 5}
जब आप अनावश्यक प्रतियां बनाने से बचना चाहते हैं और सीधे मौजूदा सेट को संशोधित करना चाहते हैं, तो update()
का उपयोग करें। ध्यान दें कि set2
अपरिवर्तित रहता है।
3. union()
विधि का उपयोग करके सेट संघ
कार्यात्मक रूप से |
संचालक के समान, union()
विधि भी सभी अनोखे तत्वों वाला एक नया सेट लौटाती है।
set1 = {1, 2, 3}
set2 = {3, 4, 5}
set3 = set1.union(set2)
print(set3) # आउटपुट: {1, 2, 3, 4, 5}
जबकि कार्यात्मक रूप से |
संचालक के समतुल्य है, बड़े या अधिक जटिल कोड में इसकी स्पष्टता के लिए union()
को प्राथमिकता दी जा सकती है।
4. reduce()
और operator.or_
का उपयोग करके कई सेट्स का संघ
कई सेट्स को कुशलतापूर्वक संयोजित करने के लिए, functools
मॉड्यूल से reduce()
फ़ंक्शन, operator.or_
के साथ संयुक्त, एक कार्यात्मक दृष्टिकोण प्रदान करता है।
from functools import reduce
import operator
sets = [{1, 2}, {2, 3}, {3, 4}]
merged_set = reduce(operator.or_, sets)
print(merged_set) # आउटपुट: {1, 2, 3, 4}
यह विधि विशेष रूप से सेट्स की सूची या अन्य इटरेबल के साथ काम करते समय उपयोगी है।
5. itertools.chain()
के साथ कुशल संघ
itertools.chain()
कुशलतापूर्वक कई इटरेबल्स को जोड़ता है। set()
के साथ संयुक्त, यह संघ बनाने का एक संक्षिप्त और कुशल तरीका प्रदान करता है, खासकर बड़े सेट्स के लिए।
from itertools import chain
set1 = {1, 2, 3}
set2 = {3, 4, 5}
merged_set = set(chain(set1, set2))
print(merged_set) # आउटपुट: {1, 2, 3, 4, 5}
यह विधि मध्यवर्ती सेट बनाने से बचती है, जिसके परिणामस्वरूप बड़े इनपुट के लिए बेहतर प्रदर्शन होता है।
6. अनपैकिंग ऑपरेटर (*
) का उपयोग करके संघ
अनपैकिंग ऑपरेटर (*
) कई सेट्स को एक नए सेट में संयोजित करने के लिए एक संक्षिप्त सिंटैक्स प्रदान करता है।
set1 = {1, 2, 3}
set2 = {3, 4, 5}
merged_set = {*set1, *set2}
print(merged_set) # आउटपुट: {1, 2, 3, 4, 5}
इसकी सादगी इसे एक पठनीय विकल्प बनाती है, खासकर जब कम संख्या में सेट्स को संयोजित किया जाता है।
7. निष्कर्ष
पाइथन सेट संघ करने के लिए उपकरणों का एक समृद्ध सेट प्रदान करता है। दो सेट्स के साथ काम करते समय संघ संचालक (|
) और union()
विधि को आम तौर पर उनकी सादगी और पठनीयता के लिए प्राथमिकता दी जाती है। कई सेट्स, इन-प्लेस संशोधन, या बड़े डेटासेट के लिए अनुकूलन के लिए, operator.or_
के साथ reduce()
, update()
, itertools.chain()
, या अनपैकिंग ऑपरेटर कुशल और सुंदर विकल्प प्रदान करते हैं। इष्टतम विकल्प विशिष्ट उपयोग के मामले, कोडिंग शैली और प्रदर्शन विचारों पर निर्भर करता है। याद रखें कि update()
मूल सेट को संशोधित करता है, जबकि अन्य विधियाँ एक नया सेट बनाती हैं।