सेट

गणित में, समुच्चय (या समुच्चय सिद्धांत) जैसी कोई चीज होती है। शायद आपने उन्हें गणित के पाठ्यक्रम में भी पढ़ा हो। आप वेन डायग्राम से भी परिचित हो सकते हैं।
व्यवहार में, एक सेट को केवल अलग-अलग वस्तुओं के एक अच्छी तरह से परिभाषित सेट के रूप में माना जा सकता है, जिसे तत्व या सदस्य कहा जाता है।
वस्तुओं को एक सेट में समूहित करना प्रोग्रामिंग में उपयोगी हो सकता है, और पायथन हमें अंतर्निहित प्रकार <कोड>सेट प्रदान करता है।

सेट (प्रकार <कोड>सेट) अन्य प्रकार की वस्तुओं से अद्वितीय संचालन में भिन्न होते हैं जो उन पर किए जा सकते हैं।

Python में बिल्ट-इन type set की निम्नलिखित विशेषताएं हैं: <उल>
  • किसी समुच्चय के तत्व अक्रमित होते हैं (अर्थात् दो समुच्चय समतुल्य होते हैं यदि उनमें समान तत्व हों)। सेट के तत्वों को अनुक्रमिक रूप से संग्रहीत नहीं किया जाता है, लेकिन कुछ एल्गोरिदम के अनुसार जो आपको यह निर्धारित करने की अनुमति देता है कि कोई तत्व सेट से संबंधित है या नहीं (सभी तत्वों की गणना के बिना);
  • सेट तत्व अद्वितीय हैं। डुप्लिकेट तत्वों की अनुमति नहीं है;
  • सेट म्यूटेबल होते हैं (उदाहरण के लिए, आप सेट में एक एलिमेंट जोड़ सकते हैं), लेकिन सेट के अंदर के एलिमेंट्स खुद अपरिवर्तनीय (नंबर, स्ट्रिंग्स, ट्यूपल्स) होने चाहिए। आप एक सूची या अन्य सेट को एक सेट का तत्व नहीं बना सकते हैं;
  •  

     सेट बनाएं
    1 रास्ता

    बस सेट में तत्वों की गणना घुंघराले कोष्ठकों में करें।

    x = {"स्कूल", "शिक्षक", "कक्षा", छात्र
     

    2 तरह से 
    अंतर्निहित फ़ंक्शन set() का उपयोग करें। एक्स = सेट ()    # खाली सेट list_name = ["एंड्री", "बॉब", "कैरोलीन"] y = सेट (list_name)    # आप एकाधिक बना सकते हैं                        # किसी भी चलने योग्य वस्तु से z = सेट (["एंड्री", "बॉब", "कैरोलीन"])     # {'बॉब', 'कैरोलीन', 'एंड्री'} k = सेट (("एंड्री", "बॉब", "कैरोलीन"))     # {'बॉब', 'कैरोलीन', 'एंड्री'} एस = "स्ट्रिंग एस" एम = सेट (रों)    # {'i', 't', 'g', 'r', 'n', & #39;एस', ' '} -                # ध्यान दें!                # तत्वों का क्रम कोई भी हो सकता है,               # तत्व दोहराए नहीं जाते हैं n = {42, 'फू', 3.14159, कोई नहीं, (1, 2, 3)}    # तत्वों में                                                # विभिन्न प्रकार के हो सकते हैं  
    आउटपुट सेट करें
    सेट के तत्वों को मनमाने ढंग से क्रम में प्रदर्शित किया जाता है, जरूरी नहीं कि जिस क्रम में उन्हें जोड़ा जाता है। z = सेट(["एंड्री", "बॉब", "कैरोलीन"])  प्रिंट (जेड)     # {'बॉब', 'कैरोलीन', 'एंड्री'} प्रिंट(*z)    # बॉब एंड्री कैरोलीन

    सेट के साथ काम करने के तरीके


    सेट में तत्वों की संख्या
    <कोड> लेन () विधि सेट में तत्वों की संख्या लौटाती है। के = {42, 'फू', 3.14159, कोई नहीं, (1, 2, 3)}  प्रिंट (लेन (के))    #5

     

    यह निर्धारित करना यदि कोई तत्व एक सेट में है (सदस्यता <कोड>में)
    के = {42, 'फू', 3.14159, कोई नहीं, (1, 2, 3)}  प्रिंट (के में 42)    # सच प्रिंट (2 इंच के)     # असत्य
    हालांकि एक सेट में शामिल तत्वों को एक अपरिवर्तनीय प्रकार का होना चाहिए, सेट को स्वयं बदला जा सकता है। 

     

     सेट करने के लिए एक तत्व जोड़ना
    x.add(<elem>)
    सेट में  x <elem> जोड़ता है जो एकमात्र अपरिवर्तनीय वस्तु होनी चाहिए।

     

    एक सेट से एक तत्व को हटाना
    1) x.remove(<elem>)
    <elem>  को x सेट से हटा दिया गया है। यदि <elem> x में नहीं है तो Python एक अपवाद (त्रुटि) फेंकता है।

    2) x.discard(<elem>)
    वही हटाता है, लेकिन सेट में किसी तत्व की अनुपस्थिति के मामले में, यह कोई अपवाद नहीं पैदा करता है।

    3) <कोड>x.pop()
    सेट से एक यादृच्छिक तत्व को निकालता है और लौटाता है। यदि सेट प्रारंभ में खाली है, तो एक अपवाद (त्रुटि) होती है।

    4) <कोड>x.clear()
    सेट से सभी तत्वों को हटा देता है (सेट को साफ़ करता है)।

    क्रमबद्ध करना सेट करें?

    जैसा कि हम जानते हैं, समुच्चय में तत्वों के क्रम पर ध्यान नहीं दिया जाता है। तो क्या Python 3 में छँटाई सेट के बारे में बात करना समझ में आता है?! (इसलिए शीर्षक में एक प्रश्न चिह्न है)

    एक सेट में एक तत्व को जल्दी से खोजने के लिए, उन्हें एक आदेशित रूप में स्मृति में संग्रहीत करना वांछनीय है।

    आइए कुछ उदाहरण देखें। एक ही सेट में विभिन्न डेटा प्रकारों के तत्वों का क्या होता है? ऐसे तत्वों को क्रमबद्ध नहीं किया जाना चाहिए। यदि हम print() कमांड का उपयोग करके तत्वों को प्रिंट करते हैं, तो वे इस तरह से आउटपुट होंगे:

    एक = {0, 1, 12, 'b', 'ab', 3, 2, 'a'} प्रिंट (ए) # {0, 1, 2, 3, 'ए', 12, 'बी', 'एबी'} इस स्थिति में, अवर्गीकृत मान प्रदर्शित होते हैं। यदि आप लॉन्च को दोहराते हैं, तो आउटपुट ऑर्डर अलग हो सकता है। लेकिन यह तभी होता है जब विभिन्न प्रकार के तत्वों को मिलाया जाता है।

    आइए एक प्रकार का डेटा प्रदर्शित करने का प्रयास करें (उदाहरण के लिए, केवल संख्याएँ): ए = {0, 1, 12, 3, 2} प्रिंट (ए) # {0, 1, 2, 3, 12} सभी तत्व क्रम में प्रदर्शित होते हैं। आइए इसे एक सूची में बदलने का प्रयास करें: ए = {0, 1, 12, 3, 2} बी = सूची (ए) प्रिंट (बी) # [0, 1, 2, 3, 12] इसी प्रकार, आरोही क्रम में क्रमबद्ध तत्वों को सूची में लिखा गया था।

    यह पता चला है कि तत्वों को एक ही प्रकार के होने पर स्मृति में एक क्रमबद्ध रूप में संग्रहीत किया जाता है। लेकिन इस पर भरोसा न करना बेहतर है, पायथन एल्गोरिदम बदल सकते हैं।

    यदि आपको किसी सेट से क्रमबद्ध सूची प्राप्त करने की आवश्यकता है, तो सॉर्ट (< कोड> क्रमबद्ध) फ़ंक्शन सुनिश्चित करने के लिए )। तत्वों को बिल्कुल क्रमबद्ध किया जाएगा। आपका कोड दूसरों को समझ में आएगा।