Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन सेट:एक गाइड

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

यहीं से पायथन सेट ऑब्जेक्ट आता है। एक सेट वस्तुओं का एक अनियंत्रित संग्रह है जिसमें केवल अद्वितीय मान हो सकते हैं।

यह ट्यूटोरियल उदाहरणों के संदर्भ में, पायथन सेट की मूल बातें, और आप एक सेट पर मूल्यों को जोड़ने और हटाने जैसे सामान्य संचालन कैसे कर सकते हैं, इस पर चर्चा करेंगे।

पायथन सेट

पायथन बिल्ट-इन सेट डेटा संरचना गणित में सेट के विचार के समान है।

पायथन सेट में शून्य या अधिक तत्व हो सकते हैं, और सेट में प्रत्येक तत्व के लिए कोई परिभाषित क्रम नहीं है। सेट के भीतर संग्रहीत प्रत्येक तत्व अद्वितीय है, इसलिए कोई डुप्लिकेट मौजूद नहीं हो सकता है, और सेट में प्रत्येक व्यक्तिगत मान को बदला नहीं जा सकता है।

हालांकि एक सेट में अलग-अलग मूल्यों को बदला नहीं जा सकता है, सेट स्वयं ही हो सकता है। इसका मतलब है कि हम अपने सेट से आइटम जोड़ या हटा सकते हैं।

सेट संरचना उपयोगी है क्योंकि यह कई गणितीय कार्यों के साथ आता है जिसका उपयोग हम उस डेटा के साथ काम करने के लिए कर सकते हैं जिसे हमने सेट में संग्रहीत किया है।

पायथन सेट बनाएं

पायथन में, सेट को वस्तुओं (या "तत्व") की एक सूची के रूप में परिभाषित किया जाता है जो अल्पविराम से अलग होते हैं। सूची तब घुंघराले ब्रेसिज़ ({}) के भीतर संलग्न है।

81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।

बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।

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

मान लीजिए कि हम एक सेट बनाना चाहते हैं जो एक छात्र द्वारा अंग्रेजी कक्षा के लिए सौंपे गए होमवर्क असाइनमेंट की एक सूची संग्रहीत करता है। हम निम्नलिखित कोड का उपयोग करके यह सेट बना सकते हैं:

असाइनमेंट ={"वर्कशीट #4", "वर्कशीट #5", "वर्कशीट #7", "विषय की समीक्षा का अंत #2"}प्रिंट (असाइनमेंट)

हमारा कोड लौटाता है:

{'कार्यपत्रक #5', 'कार्यपत्रक #4', 'कार्यपत्रक #7', 'विषय की समीक्षा का अंत #2'}

हमारे कोड में, हमने assignments . नामक एक सेट को परिभाषित किया है जिसके चार मान हैं। फिर, हमने कंसोल पर सेट किए गए असाइनमेंट की सामग्री का प्रिंट आउट लिया। आप देख सकते हैं कि हमारे मान यादृच्छिक क्रम में लौटाए जाते हैं क्योंकि सेट अपने आइटम को किसी विशेष क्रम में संग्रहीत नहीं करते हैं।

सेट बदलना

जब आपने एक सेट बनाया है, तो आप सेट में आइटम्स के मूल्यों को नहीं बदल सकते हैं। हालाँकि, आप किसी सेट में आइटम जोड़ सकते हैं और आइटम निकाल सकते हैं।

एक सेट में आइटम जोड़ें

पायथन सेट में एक तत्व जोड़ने के लिए, आप add() . का उपयोग कर सकते हैं तरीका। मान लीजिए कि किसी छात्र ने अभी-अभी Worksheet #8 . दिया है और हम छात्र के असाइनमेंट पर नज़र रखने के लिए अपने सेट को अपडेट करना चाहते हैं। हम इस कोड का उपयोग करके ऐसा कर सकते हैं:

<पूर्व>असाइनमेंट ={"वर्कशीट #4", "वर्कशीट #5", "वर्कशीट #7", "विषय समीक्षा का अंत #2"}असाइनमेंट।जोड़ें("वर्कशीट #8")प्रिंट(असाइनमेंट)

हमारा कोड लौटाता है:

{'कार्यपत्रक #8', 'कार्यपत्रक #4', 'कार्यपत्रक #5', 'विषय की समीक्षा का अंत #2', 'कार्यपत्रक #7'}

जैसा कि आप देख सकते हैं, Worksheet #8 हमारे सेट में जोड़ा गया है।

इसके अलावा, यदि आप एक सेट में कई आइटम जोड़ना चाहते हैं, तो आप update() . का उपयोग कर सकते हैं तरीका। update() विधि उन आइटम्स की सूची को स्वीकार करती है जिनमें आप पैरामीटर के रूप में सेट में जोड़ना चाहते हैं, फिर उन आइटम्स को सेट में जोड़ते हैं।

मान लीजिए कि एक छात्र ने #8 और #9 दोनों वर्कशीट सौंप दी है। हम इस कोड का उपयोग करके सौंपे जा रहे इन नए असाइनमेंट को दर्शाने के लिए अपना सेट बदल सकते हैं:

<पूर्व>असाइनमेंट ={"वर्कशीट #4", "वर्कशीट #5", "वर्कशीट #7", "विषय समीक्षा का अंत #2"}असाइनमेंट।अपडेट (["वर्कशीट #8", "वर्कशीट #9"] )प्रिंट (असाइनमेंट)

हमारा कोड लौटाता है:

{'कार्यपत्रक #9', 'विषय समीक्षा का अंत #2', 'कार्यपत्रक #8', 'कार्यपत्रक #7', 'कार्यपत्रक #4', 'कार्यपत्रक #5'}

अब हमारे सेट में दो नए मान हैं:Worksheet #8 और Worksheet #9 .

सेट से एलीमेंट हटाएं

किसी तत्व को सेट से हटाने के लिए, आप discard() . का उपयोग कर सकते हैं या remove() .

discard() फ़ंक्शन किसी आइटम को सेट से हटा देता है और यदि कोई आइटम सेट में मौजूद नहीं है तो कुछ भी नहीं लौटाता है। remove() फ़ंक्शन किसी आइटम को सेट से निकालने का प्रयास करेगा, और यदि वह आइटम मौजूद नहीं है, तो एक त्रुटि उठाई जाएगी।

मान लीजिए हम Worksheet #9 को हटाना चाहते हैं एक छात्र के होमवर्क असाइनमेंट के हमारे रिकॉर्ड से क्योंकि उन्हें असाइनमेंट फिर से करने के लिए कहा गया है। हम इस कोड का उपयोग करके ऐसा कर सकते हैं:

असाइनमेंट ={'वर्कशीट #9', 'विषय समीक्षा का अंत #2', 'वर्कशीट #8', 'वर्कशीट #7', 'वर्कशीट #4', 'वर्कशीट #5'}असाइनमेंट।डिस्कार्ड(" वर्कशीट #9") प्रिंट(असाइनमेंट)

हमारा कोड लौटाता है:

{'विषय की समीक्षा का अंत #2', 'कार्यपत्रक #5', 'कार्यपत्रक #4', 'कार्यपत्रक #8', 'कार्यपत्रक #7'}

आप देख सकते हैं कि मान Worksheet #9 हमारे सेट से हटा दिया गया है। हमने इसे discard() . का उपयोग करके पूरा किया है तरीका।

एक सेट साफ़ करें

किसी सेट को खाली करने के लिए, आप clear() . का उपयोग कर सकते हैं तरीका। मान लीजिए हम किसी छात्र के असाइनमेंट का रिकॉर्ड मिटाना चाहते हैं क्योंकि यह वर्ष का अंत है और हमें अब जानकारी संग्रहीत करने की आवश्यकता नहीं है। हम इस कोड का उपयोग करके ऐसा कर सकते हैं:

<पूर्व>असाइनमेंट ={'वर्कशीट #9', 'विषय की समीक्षा का अंत #2', 'वर्कशीट #8', 'वर्कशीट #7', 'वर्कशीट #4', 'वर्कशीट #5'}असाइनमेंट।क्लियर() प्रिंट (असाइनमेंट)

हमारा कोड लौटाता है:{}। यह हमारे खाली सेट को दर्शाता है।

सेट की वापसी लंबाई

यह पता लगाने के लिए कि एक सेट में कितने आइटम संग्रहीत हैं, आप len() . का उपयोग कर सकते हैं तरीका।

मान लीजिए हम यह पता लगाना चाहते हैं कि एक छात्र ने कितने गृहकार्य सौंपे हैं। हम इस कोड का उपयोग करके ऐसा कर सकते हैं:

<पूर्व>असाइनमेंट ={'वर्कशीट #9', 'विषय समीक्षा का अंत #2', 'वर्कशीट #8', 'वर्कशीट #7', 'वर्कशीट #4', 'वर्कशीट #5'}प्रिंट (लेन(असाइनमेंट) ))

हमारा कोड लौटाता है:6. हमारे कोड में, हम पहले assignments . नामक एक सेट की घोषणा करते हैं . फिर, हम len() . का उपयोग करते हैं assignments . में कितने आइटम संग्रहीत हैं, यह पता लगाने की विधि समूह।

पायथन सेट संचालन

डेटा स्टोर करने के लिए सेट का उपयोग करने के फायदों में से एक यह है कि सेट गणितीय सेट संचालन का समर्थन करता है। आइए देखें कि तीन मुख्य सेट ऑपरेशन कैसे काम करते हैं।

ये सेट ऑपरेशन नहीं बदलते एक सेट की सामग्री। इसके बजाय, वे मौजूदा सेट पर गणना करते हैं।

संघ सेट करें

union() विधि हमें दो सेटों से सभी तत्वों का एक सेट बनाने की अनुमति देती है।

मान लीजिए कि हमारे पास एक छात्र के असाइनमेंट की दो सूचियाँ हैं जिन्हें हम एक साथ मिलाना चाहते हैं। एक सूची में छात्र के गृहकार्य पर डेटा होता है, और दूसरी में एक छात्र द्वारा पूर्ण किए गए निबंध असाइनमेंट की सूची होती है। हम इस कोड का उपयोग करके इन सूचियों को मर्ज कर सकते हैं:

<पूर्व>असाइनमेंट ={"वर्कशीट #4", "वर्कशीट #5", "वर्कशीट #7"}निबंध ={"निबंध #1", "निबंध #2"}होमवर्क =असाइनमेंट.यूनियन (निबंध) प्रिंट (होमवर्क) )

हमारा कोड लौटाता है:

{'कार्यपत्रक #7', 'निबंध #2', 'कार्यपत्रक #4', 'निबंध #1', 'कार्यपत्रक #5'}

हमारे कोड में, हम union() . का उपयोग करते हैं हमारे दो सेटों को एक साथ मिलाने की विधि। हम नए मर्ज किए गए सेट का मान वैरिएबल homework . को असाइन करते हैं . फिर, हमने homework . का मान प्रिंट कर लिया चर।

वैकल्पिक रूप से, हम निम्नलिखित कोड का उपयोग कर सकते थे:

असाइनमेंट ={"वर्कशीट #4", "वर्कशीट #5", "वर्कशीट #7"}निबंध ={"निबंध #1", "निबंध #2"}प्रिंट(असाइनमेंट | निबंध)

"|" ऑपरेटर एक यूनियन सेट ऑपरेशन करता है। हमारा कोड एक मर्ज किए गए सेट को लौटाता है:

{'निबंध #2', 'कार्यपत्रक #4', 'कार्यपत्रक #5', 'निबंध #1', 'कार्यपत्रक #7'}

चौराहे सेट करें

intersection() विधि आपको उन तत्वों की सूची बनाने की अनुमति देती है जो दो सेटों के बीच सामान्य हैं।

मान लीजिए कि हमारे पास एक छात्र द्वारा सौंपे गए निबंधों की एक सूची है, और उन निबंधों की एक सूची है जो जारी किए गए हैं। यदि हम यह जानना चाहते हैं कि एक छात्र ने अभी तक कौन-सा निबंध नहीं दिया है, तो हम प्रतिच्छेदन विधि का प्रदर्शन कर सकते हैं।

यहां वह कोड है जिसका हम उपयोग करेंगे:

essays_handed_in ={"निबंध #1", "निबंध #2"}निबंध_जारी ={"निबंध #1", "निबंध #2", "निबंध #3"}देय =निबंध_हैंडेड_इन.इंटरसेक्शन(निबंध_जारी)प्रिंट(देय) )

हमारा कोड लौटाता है:

{'निबंध #1', 'निबंध #2'}

इस उदाहरण में, हम intersection() . का उपयोग करते हैं essays_handed_in . दोनों में मौजूद सभी तत्वों को खोजने की विधि और essays_issued सेट। हम प्रतिच्छेदन ऑपरेशन के परिणाम को वेरिएबल due . को असाइन करते हैं , जिसे हम फिर कंसोल पर प्रिंट करते हैं।

इसके अलावा, हम & . का उपयोग कर सकते हैं एक सेट चौराहे ऑपरेशन करने के लिए ऑपरेटर। इसलिए, यदि हम पहले से अपने दो सेटों पर एक प्रतिच्छेदन करना चाहते हैं, तो हम इस कोड का उपयोग कर सकते हैं:

essays_handed_in ={"निबंध #1", "निबंध #2"}निबंध_जारी ={"निबंध #1", "निबंध #2", "निबंध #3"}प्रिंट(निबंध_हैंडेड_इन और निबंध_जारी)

हमारा कोड लौटाता है:

{'निबंध #1', 'निबंध #2'}

अंतर सेट करें

difference() विधि आपको यह पता लगाने की अनुमति देती है कि कौन से तत्व एक सेट में मौजूद हैं जो दूसरे सेट में मौजूद नहीं हैं।

मान लीजिए कि हम उन सभी निबंधों की एक सूची बनाना चाहते हैं जो एक छात्र ने सौंपे हैं और जिन्हें अभी तक वर्गीकृत नहीं किया गया है। हम इस कोड का उपयोग करके ऐसा कर सकते हैं:

essays_handed_in ={"निबंध #1", "निबंध #2"}निबंध_ग्रेडेड ={"निबंध #1"}फाइनल =निबंध_हैंडेड_इन.डिफरेंस(निबंध_ग्रेडेड)प्रिंट(फाइनल)

हमारा कोड लौटाता है:

{"निबंध #2"}

इस कोड में हमने difference() . का इस्तेमाल किया है essays_handed_in . के बीच अंतर खोजने की विधि और essays_graded सेट। वैकल्पिक रूप से, हम - . का उपयोग कर सकते हैं ऑपरेटर, जैसे:

essays_handed_in ={"निबंध #1", "निबंध #2"}निबंध_ग्रेडेड ={"निबंध #1"}प्रिंट(निबंध_हैंडेड_इन - निबंध_ग्रेडेड)

हमारा कोड लौटाता है:

{"निबंध #2"}

वही परिणाम हमारे कोड में लौटाया जाता है। लेकिन difference() . का उपयोग करने के बजाय सेट विधि, हमने इस्तेमाल किया - ऑपरेटर, जो दो सेटों के बीच अंतर खोजने के लिए एक चेक करता है।

निष्कर्ष

पायथन सेट डेटा संरचना आपको वस्तुओं के अनियंत्रित संग्रह को संग्रहीत करने की अनुमति देती है।

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

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

हमने केवल सेट के साथ आप क्या कर सकते हैं, इसकी सतह को खरोंच कर दिया है, हालांकि-आपके लिए अभी भी बहुत कुछ तलाशना है- लेकिन हमने मुख्य कौशल को कवर किया है जो आपको सेट के साथ प्रभावी ढंग से काम करने के लिए जानना आवश्यक है। अब आप Python set() . का उपयोग शुरू करने के लिए तैयार हैं एक समर्थक की तरह विधि!


पायथन का उपयोग दुनिया भर के पेशेवर विकास परिवेशों में डेटा विश्लेषण से लेकर वेब विकास तक हर चीज के लिए किया जाता है। डाउनलोड करें मुफ्त करियर कर्म ऐप पायथन प्रोग्रामिंग में करियर पथ के बारे में अधिक जानने के लिए आज।


  1. पायथन सेट प्रकार

    सेट मूल रूप से अलग हैश-टेबल ऑब्जेक्ट्स का एक अनियंत्रित संग्रह है। हम सेट का उपयोग कुछ गणितीय कार्यों जैसे सेट यूनियन, चौराहे, अंतर इत्यादि के लिए कर सकते हैं। हम संग्रह से डुप्लिकेट को हटाने के लिए सेट का भी उपयोग कर सकते हैं। सेट तत्व की स्थिति को रिकॉर्ड नहीं करता है। यह अनुक्रमण, स्लाइसिंग या अ

  1. पायथन सेट ऑपरेशन।

    गणित में, एक सेट अलग-अलग वस्तुओं का एक संग्रह होता है, जिसे अपने आप में एक वस्तु के रूप में माना जाता है। उदाहरण के लिए, संख्या 2, 4, और 6 अलग-अलग वस्तुएं हैं, जब उन्हें अलग-अलग माना जाता है, लेकिन जब उन्हें सामूहिक रूप से माना जाता है, तो वे 3 आकार का एक एकल सेट बनाते हैं, जिसे {2,4,6} लिखा जाता है

  1. पायथन सेट

    पायथन सेट एक संग्रह प्रकार है जिसमें एक अनियंत्रित . होता है अद्वितीय . का संग्रह और अपरिवर्तनीय वस्तुओं। दूसरे शब्दों में, एक पायथन सेट डुप्लिकेट आइटम नहीं रख सकता है और एक बार सेट बनने के बाद, आइटम नहीं बदल सकते हैं। नोट:एक सेट के आइटम अपरिवर्तनीय हैं, इसका मतलब है कि हम आइटम नहीं बदल सकते हैं। हा